完数 (判断、范围输出)

完数 (判断、范围输出)目录 什么是完数 判断一个完数 求范围内完数 一 什么是完数 定义 完全数 完数 Perfect number 如果一个数恰好等于它的因子之和 则称该数为 完全数 第一个完全数是 6 1 2 3 第二个完全数是 28 1 2 4

大家好,我是讯享网,很高兴认识大家。

目录:

  1. 什么是完数
  2. 判断一个完数
  3. 求范围内完数
一、什么是完数

定义:完全数完数)Perfect number

如果一个数恰好等于它的因子之和,则称该数为“完全数”。

第一个完全数是
6=1+2+3
第二个完全数是
28=1+2+4+7+14
第三个完全数是
496=1+2+4+8+16+31+62+124+248

后面还有:8128、………

二、判断一个完数

程序…………………………

#include<stdio.h>  int main() { 
    int n,i,sum=0; printf("请输入一个正整数:"); scanf("%d",&n); for(i=1;i<n;i++) { 
    if(n%i==0) sum=sum+i; //因子累加 } if(sum==n) printf("%d是一个完数\n",n); else printf("%d不是一个完数\n",n); return 0; }

讯享网

运行结果……………………
在这里插入图片描述
讯享网
在这里插入图片描述

三、求范围内完数

问题:
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而 6=1+2+3,因此6是完数。输出1000之内所有完数……

程序1…………………………

讯享网#include<stdio.h> int main() { 
    int n,i,sum; printf("输出1000以内所有的“完数”:\n\n"); for(n=2;n<1000;n++) //从2开始判断  { 
    sum=0; for(i=1;i<n;i++) { 
    if(n%i==0) sum+=i; //因子累加 } if(sum==n) printf("%d 是一个完数\n",n); } return 0; } 

运行结果…………………………
在这里插入图片描述
程序2…………………………

//一个数如果恰好等于它的因子之和,这个数就称为“完数”。 //例如,6的因子为1,2,3,而6=1+2+3,因此6是完数。 #include<stdio.h> int main() { 
    int n,s,i; printf("输出1000以内所有的“完数”:\n\n"); for(n=2;n<1000;n++) { 
    s=0; for(i=1;i<n;i++) if((n%i)==0) s=s+i; if(s==n) { 
    printf("%d its factors are ",n); //它的因子  for(i=1;i<n;i++) if(n%i==0) printf("%d ",i); printf("\n"); } } return 0; }

运行结果…………………………
在这里插入图片描述
用中文输出:
在这里插入图片描述
其它:
1.水仙花数(输出全部水仙花数)
2.素数(判断,统计,范围输出)
3.判断闰年的3种方法(判断+范围输出)
4.C语言与计算机语言(内含Hello world!详解)

常见一些概念:

质数 :一个数的因数只有 1 和 它本身(又称素数
合数 :一个数除 1 和 它本身 外,还有其它的因数。
真因子:包括1但不包括这个数本身的约数(又称真因数)
真约数:除了自身以外的约数

例如:6的约数(因子)有1、2、3、6,真因子是1、2、3。

最后再来看前面完数的定义

完数:一个数如果恰好等于它的因子之和,这个数就称为“完数”。

你有没有发现,在许多对完数定义或问题中常常说:完数=因子之和,但因子还包括它本身,不应该是 完数=真因子之和吗 ??
当然,在详细介绍时:完数是它所有的真因子之和

在这里插入图片描述
在这里插入图片描述

小讯
上一篇 2025-03-08 23:04
下一篇 2025-01-28 15:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/125571.html