2022年3月6日22:23:47
文章目录
- 2022年3月6日22:23:47
- 1096 大美数 (15 分)
-
- 1.【题目描述】
- 2.【题解】
1096 大美数 (15 分) 1.【题目描述】 题目链接
若正整数N N N 可以整除它的 4 个不同正因数之和,则称这样的正整数为“大美数”。本题就要求你判断任一给定的正整数是否是“大美数”。
输入格式:
输入在第一行中给出正整数K ( ≤ 10 ) K(≤10) K(≤10),随后一行给出K K K 个待检测的、不超过1 0 4 10^4 104 的正整数。
【PTA|【PTA乙级】【1096 大美数 (15 分)】】输出格式:
对每个需要检测的数字,如果它是大美数就在一行中输出
Yes
,否则输出 No
。2.【题解】
- 初始化处理这个数N N N 的所有因子,储存在数组中,用循环暴力遍历因子数组;
- 因为四个因子需要不同,所以遍历的四个下标需不同;
- 四个不同因子的和s u m sum sum %n n n ==0 0 0 。
void solve(){
int n;
cin >> n;
int a[10100] = {0};
int cnt = 0;
for (int i = 1;
i <= n;
i++){
if(n%i==0)
a[cnt++] = i;
}
if(cnt<4)
cout << "No\n";
else{
int flag = 0;
for (int i = 0;
i < cnt-3;
i++){
for (int j = i+1;
j < cnt-2;
j++){
for (int k = j+1;
k < cnt-1;
k++){
for (int m = k+1;
m < cnt;
m++){
if((a[i]+a[j]+a[k]+a[m])%n==0){
flag = 1;
}}
}
}
}
if(flag)
cout << "Yes\n";
else
cout << "No\n";
}
}
推荐阅读
- PTA|【PTA乙级】【1101 B是A的多少倍 (15 分)】
- PTA|【PTA乙级】【1106 2019数列 (15 分)】
- 算法竞赛|【算法入门到进阶】【学习目录】
- 2021-5-1 【PTA】【L1-6 不变初心数 (15 分)】
- 计算机组成原理|数的机器码表示【原码、反码、补码】笔记
- 6CCS3VER
- #|C语言每日一练——第140天(抓交通肇事犯)
- C++|[C/C++]详解STL容器1--string的功能和模拟实现(深浅拷贝问题)
- FIT9131分析