首页 > 其他分享 >求完数

求完数

时间:2024-04-23 17:25:26浏览次数:17  
标签:count int void num 完数 Factor

一个数恰好等于它的因子之和,这个数就称作完数。例如:6=1+2+3;编程序找出1000之内的完数。

include<stdio.h>

void Factor(int num);

int main(void){

for(int i=1;i<=1000;i++){
    Factor(i);
}

}

void Factor(int num){
int count=0;
int sum=0;

for(int i=1;i<=num/2;i++){

if(num%i==0){
    sum+=i;
    count++;
}

}

//output factor
if(sumnum){
printf("%d its factors are ",num);
int i;
for(i=1;i<=num/2&&count>1;i++){
if(num%i
0){
printf("%d,",i);
count--;
}
}

//output the last factor.
    while(i<=num/2){
         if(num%i==0)
        printf("%d\n",i);

        i++;
    }
}

}

标签:count,int,void,num,完数,Factor
From: https://www.cnblogs.com/zhongta/p/18153312

相关文章

  • 完数,一个数恰好等于它的因子相加
    示例:6=1+2+3方法:找到num的所有因子,相加后检查是否等于num,如果等于,则按照相应格式输出。找出1000以内的完数。代码:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){intn,i,sum=0,num,count=0;inta[10];intj;for(j=2;j<......
  • KY20 完数与盈数C++
    练习使用向量vector容器。遍历每个数取余就好了。然后记录下来。#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>B;vector<int>C;for(inti=2;i<=60;i++){vector<int>A;intm;......
  • 求1000以内的完数
    完数:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3解析:完全数(Perfectnumber),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。先求出一个数的所......
  • 完数
    找出1000之内的所有完数,并输出其因子一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,且6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数,按如下格式输出其因子:6itsfactorsare123#include<stdio.h>intmain(){inti,j,k,m;......
  • 算法1:寻找完数(JS)
    任务一:寻找完数打印10000以内的完数完数:与自己所有因子之和相等的数。1letsum=0,i,j;//定义变量sum、i和j23for(i=1;i<10000;i++){4sum=0;//初始化sum为05letfactors=[];//存储因子的数组67//寻找i的因子并计算它......
  • 完数
    完数即完全数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。如果一个数恰好等于它......
  • 3.求2-20000的完数
    #include<iostream>usingnamespacestd;/*求解完数,数字的因数等于该数字,2-20000*/intmain(){intnum=0;for(inti=2;i<=20000;i++){intx=i,sum=0;for(intj=1;j<x;j++){if(x%j==0){sum+=j;......
  • 完数
    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1114题意:给定一个数n,求满足条件大于等于n的最小的完数。分析:我们先把前13个完数存进数组,然后比较即可。因为第13个完数的位数已经大于100位了,所以再大的就用不着了。再利用Java的BigInteger进行比较很方便。imp......
  • 完数
    #include<stdio.h>intmain(){ intm,n; scanf("%d%d",&m,&n); inti,j; intsum=0; intflag=0; for(i=m;i<=n;i++) { sum=0; for(j=1;j<i;j++) if(i%j==0) sum+=j; if(sum==1) { flag=1; printf("%ditsfactorsare1",......
  • 完数
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>main(){ inti,j,s,n; printf("输入所范围的上限:"); scanf("%d",&n); for(j=2;j<=n;j++) { s=1; //保证每次循环i的初值为1 for(i=2;i<=j/2;i++) if(j%i==0)......