您的位置 首页 知识

c语言完数1000以内(c语言求100以内的完数)

如何编程求1000之内的所有”完数”?

求1000以内的完数的C++语言代码如下:  #include<iostream>  using namespace std;  int main()  {int n=1000;  int r=0,j,i;  for(i=1;i<=n;i++)  {r=0;  for(j=1;j<i;j++)  {if(i%j==0){r=r+j;}}  if(r==i)  {cout<<i<<endl;}}  return 0;  }求1000以内的完数的C语言代码如下:  #include <stdio.h>  int main()  {  int n=1000;  int r,j,i;  for(i=1;i<n; i++){  r = 0;  for(j=1;j<i;j++){  if(i%j == 0){  r = r + j;  }  }  if(r == i){  printf(“the result is:%dn”,r);  }  }  return 0;  }

输出100以内所有完数,C语言?

#include

int main()

{

int n,s=0;

for(n = 1; n

if(n%2==0) //偶数

s+=n;//累加。

printf(“%dn”,s);//输出结果。

return 0;

}

C语言 一个数如果恰好等于它的因子之和,这个数就称为“完数”。如6=1+2+3.找出1000以内的所有完数。

  • #include stdio.hvoid main(){ int num,sum=0,m; printf("1t"); for(num=2;num=1000;num++)控制num一直到1000 { 氦酣份叫莓既逢习抚卢 for(m=1;mnum;m++)找出num的因子 { if(num%m==0) { sum=sum+m;num因子之和 } } if(sum==num)判断num是否为完数 { printf("%dt",num); } } } 这段代码哪里有问题?重写代码的不要。谢谢
  • 1也是完全数,另外这段代码是逻辑错还是编译错?

c 语言 求1000以内的完数

  • 如果一个数等于它的因子之和,这个数就称之为完数例如 6=1+2+3编了一个程序,提示无错误,但是运行结果是没结果!求解答!#includestdio.hmain(){ int i,j,k=0,a[1000],n,s=0; for(i=1;i&l怠贰壁股撰噶辩拴菠茎t;=1000;i++) { for(j=1;ji;j++) { if(i%j==0) { k++; a[k-1]=j; } } if(k!=0) { for(n=0;nk;n++) { s=s+a[n]; } if(s==i) { printf("%d its factors are:",i); for(n=0;nk;n++) { printf("%d ",a[n]); } } } k=0; }}
  • 根据本主题的要求时设置这个数目是2位,X = 10B + C 所以 B * C + A + B + C = 10B + C 减至乙* C = 9B C怠贰壁股撰噶辩拴菠茎 = 9 即2位尾数9意义的问题是线,然后建立一个共有九个这3位数字,X = 100A + 10B + C BR所以 A * B * C + A + B + C = 100A + 10B + C 减少到A * B * C = 99A + 9B B * C-99 = 9B A BR,因为10的正整数 B和C则B * C的方程81 保留为负的最大值,所以该方程不中只有九乔数量持有综合,1000

杭电ACM 用C语言求完数的一道题 大神帮我看看哪里错了,可以运行出来,但是不能ac

  • Problem Description完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。本题的任务是判断两个正整数之间完数的个数。Input输入数据包含多行,第一行是一个正整数n,表示测试实例的个数,然后就是n个测试实例,每个实例占一行,由两个正整数num1和num2组成,(1num1,num210000) 。Ou碃搐百诽知赌版涩保绩tput对于每组测试数据,请输出num1和num2之间(包括num1和num2)存在的完数个数。Sample Input22 55 7Sample Output01这是我的程序#includestdio.hint main(){ int i,j,k,n,num1,num2,sum1,sum2; scanf("%d",&n); for(i=1;i=n;i++) { sum2=0; scanf("%d%d",&num1,&num2); for(k=num1;k=num2;k++) {sum1=0; for(j=1;j=k2;j++) { if (k%j==0) sum1=sum1+j; } if (sum1==k) sum2++; } printf("%dn",sum2); } return 0;}
  • 是TLE还是WA还是PE?

C语言完数,答对高分奉上~

  • 附图我做的程序,请指出我的错误并改正,谢谢~
  • 貌似j永远不会小于i

编完C语言程序后运行,在输完数据后一闪而过

  • #include getchar(); fflush(stdin); 或 #include system("pa讥功罐嘉忒黄闺萎酣联use"); 或 #include getch(); 或者 #include MessageBox(NULL,"程序结束","消息",MB_OK); 加在main()函数的 return 0;前面 完整程序: #include 包含stdio.h头文件 #include g

C语言 1——1000找完数 输出 完数的因子 例6=1+2+3 输出6 its factors are 1,2,3

  • 这是我做的 求找错..为啥只输出一个数#include stdio.hvoid main(){ int x,i,j; int y=0; for(i=1;i=1000;i++) { y=0; for(j=1;j=i;j++) { if(i%j==0) x=j; else x=0; y+=x; } if(i==y) { printf("%d its factors are ",i); for(j=1;j=i;j++) { if(y%j==0) { x=j; printf("%d ",x);printf("n"); } } } }}
  • for循环找因子中 x被覆盖了

1000以内的完数求解,用c语言进行编程

  • 我的程序如下,为什么在vc运行之后没有输出#include stdio.hvoid main(){ int m,n,i,s; for(n=2;n=1000;n++) { s=1; m=n; for(i=2;im;i++) while(n%i==0) { n=ni; s=s+i; } if(s==m) printf("%d ",s); }}
  • while语句一旦执行后就进入了死循环,当然无法输出

c语言编程题 从1到1000内找出完数

  • 大概是下面这个样子,不懂为什么会有错,大神能帮我解决下吗?
  • 你还是把代码粘贴发过来吧,我要在代码上标出问题。