感谢大佬,完美复刻 int num, i, N, k, Sn; scanf("%d", &N); int a[1000]; for(num=1;num<=N;num++){//scan the numbers under the N for(i=1, k=0, Sn=0;i<num;i++){//find its factors and record it if(num%i==0){ a[k++]=i; Sn = Sn + i;//count the sum of arrys } } if(Sn==num){//put out result of completed number printf("%d its factors are", num); for(i=0;i<k;i++){ printf(" %d", a[i]); } printf("\n"); } }
这个会打印输出,剩下的自己写吧 void Check(int data) { int sum = 0; for(int i= 1;i < data;i++) { if(data % i == 0) { sum += i; } } if(sum == data) { printf("%d its factors are ",data); for(int i= 1;i < data;i++) { if(data % i == 0) { printf("%d " ,i); } } printf("\n"); } }
#include<stdio.h> int wansu(int x); void display (int x); int main() { int x,ad; scanf("%d",&x); for(ad=2;ad<=x;ad++) { if(wansu(ad)) { display (ad); } } return 0; } int wansu(int x)//判断是否为完数 { int id,sum; for(id=1,sum=0;id<=(x/2);id++) { if(x%id==0) { sum=sum+id; } } if(sum==x) return 1; else return 0; } void display (int x) { int id; printf("%d its factors are ",x); for(id=1;id<=(x/2);id++) { if(x%id==0) { printf("%d ",id); } } printf("\n"); }
#include<stdio.h> #include<math.h> #include<string.h> int main() { int n; scanf("%d",&n); int i,j,k; int a[100]; int sum=0; int count=0; for(i=2;i<=n;i++){ for(j=1;j<i;j++){ if(i%j==0){ sum=sum+j; // printf("%d ",sum); a[count]=j; count++; } }if(sum==i){printf("%d its factors are ",i); for(k=0;k<count;k++){ printf("%d ",a[k]); } printf("\n"); } sum=0; count=0; } }
#include <stdio.h> //求完数,即A%B=0 int main(void) { //第一步先求出这个数的因子 int n; int arr[] = {0}; scanf("%d", &n); for (int i = 1; i <= n; i++) { int temp = 0;//temp为各因子之和 int k = 0; //内循环求因子 for (int j = 1; j<i; j++) { if (i % j == 0) { temp += j; arr[k]=j;//求出每个因子放在数组arr[]中 k++; } } //判断是否为完数 if(temp==i) { printf("%d its factors are", i); for (int x = 0; x< k; x++) { printf(" %d", arr[x]); } printf("\n"); } } return 0; } 答案为0 不知道是为啥啊
刷题号 2022-05-05 14:36:45 |
我也是 为啥啊
#include<stdio.h> int main() { int a,b,count=0,N; scanf("%d",&N); for(a=2;a<=N;a++){ for(b=1;b<=(a/2);b++) { if(a%b==0) count+=b; } if(count==a) { printf("%d its factors are",a); for(b=1;b<=(a/2);b++){ if(a%b==0) printf(" %d",b); } printf("\n"); } count=0; } }
简单的a+b (C语言代码)浏览:1103 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:988 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:509 |
C语言训练-素数问题 (C语言代码)浏览:990 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1419 |
三角形 (C++代码)记忆化搜索浏览:1220 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:552 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:556 |
IP判断 (C语言代码)浏览:533 |