解题思路:
首先是要能够写出循环,我写了好多,都是错误的幸好今天终于写正确了;虽然错了很多,但是感觉很开心
我写出来的一种代码,答案是错误的,就是下面的第二种就是错误的;也许是运算的数字太大,不能够运行;
(各位小伙伴,有任何问题,欢迎在下面留言,我一定会竭尽能力,为你们解答的)
参考代码:
#include<stdio.h>
#include<math.h>
int main(void)
{
int n;
int i,j;
int sum=1;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=(int)sqrt(i);j++)
if(i%j==0)
{
if(i/j==j)sum+=j;
else sum +=i/j + j;
}
if(sum==i)
{
printf("%d its factors are",i);
for(j=1;j<i;j++)
if(i%j==0)printf(" %d",j);
printf("\n");
}
sum=1;
}
return 0 ;
}
//////////////////////////////////////////////
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n) !=EOF)
{
if (n>=6)
printf("6 its factors are 1 2 3\n");
if(n>=28)
printf("28 its factors are 1 2 4 7 14\n");
if(n>=496)
printf("496 its factors are 1 2 4 8 16 31 62 124 248\n");
if(n>=8128)
printf("8128 its factors are 1 2 4 8 16 32 64 127 254 508 1016 2032 4046\n");
}
return 0;
}
愿你能够一直快乐着!
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1492 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:761 |
ASCII帮了大忙浏览:797 |
最长单词 (C语言代码)浏览:1474 |
printf基础练习2 (C语言代码)浏览:321 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:548 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:584 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
三角形 (C++代码)递推浏览:825 |