大数据运算设计一种结构能表示最多1000位的大整数,正负均可,并实现这类数的加减运算。
也可以看看这个
https://blog.csdn.net/weixin_45761327/article/details/107579618
分析://如果一个数i能被j整除,那么j是i因子,所有的因子加起来的和sum与原被除数相等,就是完数 。
//一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出10000以内的所有完数。
//如果一个数i能被j整除,那么j是i因子,所有的因子加起来的和sum与原被除数相等,就是完数
#include<stdio.h>
int main()
{
int i,sum,j;
printf("10000以内所有的完数为:\n");
for(int i = 1; i < 10001; i++) //使用for循环从1到1000开始查找完数
{
sum = 0; //当数为i是,设初始sum等于0;
for(j = 1; j <= i/2; j++) //i本身也为它的因子但是i+1!=i,符合题目要求的最大因子为i/2,
{
if(i % j == 0) //判断是否为因子
{
sum = sum + j; //因子求和
}
}
if(sum == i) //和相等则输出该完数
printf("%d ",i);
}
return 0;
}