C语言题目一个数如果恰好等于它的所有真因子之和,这个数就称为“完数”。例如,6的真因子为1,2,3,而6=1+2+3,因此,6是“完数”。求10~1000以内的所有完数之和。(524) 括号里的是答案保存什么文件使用 相关知识点: 试题来源: 解析 #include main() { int m,i,s; int count=0; for(m=10;m<...
完全数是除自身外的所有因子之和与自身相等的数。用一个for循环检查2至1000的偶数(迄今为止发现的完数全是偶数),若符合条件则输出此数。检查时,用另一for循环计数变量从2开始步长为1至此数的一半去除此数,能整除的累加求和(1因子不用检查,直接计入和),最后与此数比较是否相等,相等的则是完数。...
int main(){ int i,n,sum;// for(n=1;n<=1000;n++){ sum=0;for(i=1;i<n;i++){ if(n%i==0){sum=sum+i;} //if(sum==n)//{printf("%4d",n);} } if(sum==n){printf("%4d",n);} } return 0;}
include #include void main() { int m,i,s; for(m=1;m
int main(){ int i,j,sum=1;int b[100];for(i=3;i<=1000;i++){ sum=1;int k=0;for(j=2;j<i;j++)if( i%j==0) {sum+=j;b[k++]=j;} if(i==sum){ printf("%d its factors are %d",i,b[0]);for(int a=1;a<k; a++)printf(",%d",b[a]);printf("\n")...
include "stdio.h"#include"math.h"//判断是否是完全数int isWangQuang(int n);int main(void){int i;for(i=0;i<=1000;i++){if(isWangQuang(i))printf("%d,",i);}printf("\n");}//判断是否是完全数int isWangQuang(int n){int i;int sum=1;if(n==1)return 0;for(i=2;...
public class five{ public static void main(String[]args){ int sum;for(int i=1;i<=1000;i++){ sum=0;for(int j=1;j
int main(){ int n = wanshu(1000);printf("%d", n);} 这样就可以看到结果了
include<stdio.h> int perfect(int a){ int i, s=0;for (i = 1; i < a; i++){ if (a%i == 0)s = s + i;} return (s == a);} int main(){ int i,n;for (i = 2; i <=1000; i++){ if (perfect(i))printf("%5d", i);} } ...
1、变量i的for循环里,累加部分错了,n++改为i++ 2、逻辑错误,将if(s==n)放在累加的循环里是不正确的,也许存在最终的s>n的情形,这会导致误判 3、逻辑错误,这段程序只能输出最小的一个完数。正确的做法是,把循环内部的return改为输出语句,每次得到解后不是退出函数而是输出结果并继续计算 ...