-
什么是完数?
我们举1-100之间的数
比如:6 = 1+2+3,并且它的因子都能被6整除且是整数。
28 = 1+2+4+7+14。28除自身以外的因子相加等于自身。
但是 12 ,24等就不是完数
12的因子(自身除外)有 1,2,3,4,6。而1+2+3+4+6 !=12。
24的因子(自身除外)有1,2,3,4,6,8,12。而1+2+3+4+6+8+12!=24。
- 在自然数中,完数是占少量的,1-1000之间就只有三个完数:6,28,496。
- 下面通过一个题目来熟悉一下:
#include<stdio.h> int lw_eron(int number)//定义函数 { int i,sum = 0; for(i = 1;i<number;i++) { if(number%i == 0)//判断因子 { sum+=i;//除自身外所有因子相加 } /*if(sum>number) return 0;*/ } return (sum == number);//判断相等,并将值返回。 } int main() { int i,m = -1; int low,high; scanf("%d %d",&low,&high);//定义区间的范围 for(i = low;i<=high;i++) { if(lw_eron(i)) { printf("%d ",i); m = 0; } } if(m == -1) printf("No Answer"); return 0; }
希望大家多多支持,一起加油!
利用函数求“完数“(自己定义一个区间,求这个区间上所有的完数)
最新推荐文章于 2023-10-28 11:19:55 发布