int main()
{
int m,n,x=0,i;
scanf("%d %d",&n,&m);
if(n<=x&&x<=m)
for(i=0;i<=m;i++)
{
if(x%i==0&&x!=1&&x!=9)
{
x++;
}
}
printf("%d",x);
return 0;
}
一个(不包括自身)。 一个正整数的所有真因子之和等于其本身则被称为完数。 例如:6=1+2+3,6是完数; 而9不是,1也不是。 求在[m,n]之间的完数的个数。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- _GX_ 2021-12-24 09:47关注
#include <stdio.h> #include <math.h> int compute_factors(int x, int a[]) { int i = 0; int n = (int)sqrt(x); a[i++] = 1; for (int j = 2; j <= n; j++) { if (x % j == 0) { a[i++] = j; int k = x / j; if (j != k) a[i++] = k; } } return i; } int is_perfect_number(int x) { int a[100]; if (x == 1) return 0; int n = compute_factors(x, a); int s = 0; for (int i = 0; i < n; i++) s += a[i]; return s == x; } int main() { int m, n, count = 0; scanf("%d%d", &m, &n); for (int i = m; i <= n; i++) if (is_perfect_number(i)) count++; printf("%d", count); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?