搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大神们,帮忙看一下哪里有问题,谢谢
标题:
大神们,帮忙看一下哪里有问题,谢谢
只看楼主
H15730239129
来 自:重庆
等 级:
新手上路
帖 子:1
专家分:0
注 册:2015-12-12
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:2
大神们,帮忙看一下哪里有问题,谢谢
#include<stdio.h>
int main()
{
int n,x,i,j,mul=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&x);
for(j=1;j<=x/2;j++)
{
if(x%j==0)
mul+=j;
}
if(mul==x)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
(求完数,)
2015-12-12 16:06
大小熊
来 自:hu nan
等 级:
论坛游民
帖 子:4
专家分:10
注 册:2015-12-13
第
2
楼
得分:10
mul初始应该放在第一层for循环里,要不然会mul的值保存了上一次计算的值。而且应该初始化mul为1,否则你的程序不会加上因子1
2015-12-13 18:51
钱少
等 级:
论坛游民
威 望:
1
帖 子:7
专家分:11
注 册:2015-12-14
第
3
楼
得分:10
#include<stdio.h>
int main()
{
int n,x,i,j,mul;
scanf("%d",&n);
for(i=0;i<n;i++)
{
mul=0; //mul赋值为0
scanf("%d",&x);
for(j=1;j<=x/2;j++)
{
if(x%j==0)
mul+=j;
}
if(mul==x)
printf("YES\n");
else
printf("NO\n");
}
return 0;
2015-12-14 22:01
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-460159-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.022313 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved