私信TA
用户名:xu1365
访问量:19732
签 名:
简单,就挺好
自我简介:
作者: for you 发表时间:2017-10-20 15:51:28 浏览:503 | 评论:2
解题思路:注意事项:参考代码:
#include<stdio.h>
int main()
{int i,j,s,N;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
s=0;//循环后,s的值会改变。所以用重新给它赋值为0
for(j=1;j<=i/2;j++)//注意
if(i%j==0)
{s+=j;}
if(s==i)
printf("%d\n",i);
}
return 0;
0.0分
0 人评分
看不懂代码解释一下代码? 或者生成一段代码?试试AI编程助手吧
for(j=1;j<=i/2;j++)//注意 问一下这一句为什么是 j<=i/2? 直接 j<i 可以吗?
s=0;//循环后,s的值会改变。所以用重新给它赋值为0 我这里就是没想到 所以一直做不出 一开始全部赋初值为0的习惯果然也不是特别好,完全没想过这个问题 如果那时候没有赋值的话 应该就能想到在这里赋值了