首页

文章

C语言求完数

发布网友 发布时间:2022-04-19 12:58

我来回答

5个回答

热心网友 时间:2023-10-25 02:10

/*完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3.(6的因子是1,2,3)*/
#include<stdio.h>
void main()
{
int i,j,k,h,s,sum;
int a[200];//20个是不够的
s=0;
sum=0;

for(i=2;i<=1000;i++)
{
s=0;//此处s=0一定要加,因为前几次循环的时候s的值已经改变
k=0;
for(j=1;j<i;j++)
{
if((i%j)==0){a[k]=j;k++;}
}
for(h=0;h<k;h++)
{
s+=a[h];
}
if(i==s){printf("%d ",i);sum++;}
}
printf("完数的个数:%d\n",sum);

}

时间太紧,没注意程序的简洁性和效率,这个需要你自己改了!

热心网友 时间:2023-10-25 02:10


#include<stdio.h>
int main(void)
{
int repeat, m, n, number, factor, sum=1, i;
scanf("%d", &repeat);
for (i=0; i<repeat; i++)
{
scanf("%d %d", &m, &n);
printf("result:\n");
for (number=m; number<=n; number++,sum=1)
{
for (factor=2; factor<number; factor++)
if (0 == number%factor)
sum += factor;
if (sum == number)
{
printf("%d = 1", number);
for (factor=2; factor<number; factor++)
if (0 == number%factor)
printf(" + %d", factor);
printf("\n");
}
}
}
}

热心网友 时间:2023-10-25 02:11

你的算法是怎么想的呢,看看我下面这个吧

#include<stdio.h>
void main()
{
int i,j,s,sum;
sum=0;
for(i=2;i<=1000;i++)
{
s=0;
for(j=1;j<i;j++)
{
if(i%j==0) //这一块是如果能够整除,那么就是该数的因子,我们累加起来
{
s+=j;
}
}
if(s==i) //因子的和与原数比较,如果正确就输出
{
printf("%d\n",i);
sum++;
}
}
printf("完数的个数:%d\n",sum);

}追问你这个程序 我写出来了 我就是想知道,我上边的这个哪里错了,为什么错了?

追答你的数组,你是想用数组来存储因子,但是你有没有考虑过有多少个因子要存储,一旦k到达一定数值时(在我的电脑上是到达91)然后内存就会出错,并且你的数组还只有20个,怎么可能不出问题呢
还有s=0要在外层循环里面

热心网友 时间:2023-10-25 02:11

把a[20]改大一点,我改成a[1000]了,再将s=0放到i的for循环里面
#include<stdio.h>
void main()
{
int i,j,k,h,s,sum;
int a[1000];
sum = 0;

for(i = 2; i <= 1000; i++)
{
s = 0;
k = 0;
for(j = 1;j < i;j++)
{
if(i % j == 0)
{
a[k] = j;
k++;
}
}
for(h = 0;h < k; h++)
{
s += a[h];
}
if(i == s)
{
printf("%d ", i);
sum++;
}
}
printf("完数的个数:%d\n", sum);
}

热心网友 时间:2023-10-25 02:12

s+=a[h];
你的错误就是第一次计算完成以后,s没有清零,在大循环开始的时候,也就是k=0这里再加上s=0就可以了
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 求郑多燕减肥健身操全集迅雷下载 要中文高清... 求郑多燕健身舞操高清 中文版全集 迅雷下载 郑多燕减肥操中文版全集迅雷下载 求郑多燕健身舞操高清720P或者1080P 原版全集 最好是迅雷下载 谢谢! 求郑多燕减肥操中文版全集下载 高清的,最好是百度云盘链接,谢谢! 求郑多燕减肥健身操全集迅雷下载 要中文高清... 求郑多燕健身操全集(高清中文)迅雷下载地址!!! “可以”是什么词性 郑多燕健身舞全集下载,最好是中文版 求郑多燕减肥操全集高清(中文版),迅雷下载 郑多燕健身舞全集下载(中文版) iphone6plus有32g的吗 iphone6 plus ram多大 苹果iphone 6 plus金色原始内存是多少 iphone 6s plus有多少g的 苹果6plus参数配置 苹果6 plus 运行内存是多少 苹果6s plus的内存是多少 苹果6Plus多大内存 苹果6plus是4g手机吗 求郑多燕全套健身操迅雷高清中文版下载。 求郑多燕减肥操迅雷下载全集! (中文字幕) 郑多燕减肥操中文全集迅雷下载 求郑多燕减肥操中文版全集下载 高清的,最好是百度云盘链接,谢谢! 求郑多燕减肥操中文版全集迅雷下载,万分感谢 郑多燕减肥操中文版迅雷下载 郑多燕健身操全集迅雷下载,高清中文版。 求郑多燕减肥操中文版全集下载 高清的,最好是百度云盘链接,谢谢! IPAD3型号是A1416是什么意思 a1416是ipad几代能玩微信吗 有纺布和无纺布的区别是什么? 有纺布和无纺布的区别是什么? 请教:有纺布和无纺布的区别 有纺布,无纺布各指什么布 窗帘上用的布带是有纺还是无纺的材质好? 土工布与无纺布有什么区别 有纺布和无纺布的席哪个好 无纺布有那几种? 什么是无纺布?地纺布在工业上有什么用途?? 无纺布涂层用的消泡剂与有纺布的区别在哪?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com