一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如6=1+2+3.编程找出1000以内的所有完数

简介: 一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如6=1+2+3.编程找出1000以内的所有完数
//题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数
#include<stdio.h>
#define N 1000
int main()
{
    int i,j,k,n,sum;
    int a[256];
    printf("以下是所有1000以内的完数:\n");
    for(i=2;i<=N;i++)
    {
        sum=a[0]=1;//给第一个数字为1 
        k=0;
        for(j=2;j<=(i/2);j++)
        {
            if(i%j==0)
            {
                sum+=j;//sum为质数和 ,j就是质数 
                a[++k]=j;//注意这里先++保证质数赋值给a[1]开始,把质数存储到数组中 
            }
        }
        //对于2到1000内的所有数子,只要满足这个数字等于他的质数和就执行以下语句 
        if(i==sum)
        {
            printf("%d=",i);
            for(n=0;n<=k;n++)
                printf("+%d",a[n]);
            printf("\n");
        }
    }
    return 0;
}
//
//#include<stdio.h>
//
//int main()
//{
//  int i, j, sum;      /* i表示要判断的数,j表示因子,sum表示因子之和*/ 
//
//  for (i = 2; i <= 1000; i++)
//  {
//    sum = 1;
//    for (j = 2; j <= i / 2; j++)
//      if (i%j == 0)         /* 判断i能否被j整除,能的话j即为因子  因子不包括自身 */ 
//        sum += j;
//
//    if (sum == i)    /* 判断此数是否等于因子之和 */ 
//    {
//      printf("%d=, ", i);    /* 输出该数 */ 
//
//      for (j = 2; j <= i / 2; j++)
//        if (i%j == 0)printf("%d+ ", j);    /* 输出因子 */ 
//
//      printf("\n");
//    }
//  }
//
//  return 0;
//}

测试:

1.png

相关文章
|
JSON Serverless API
Agent平台快速体验
通过《智能体(Agent)平台介绍》您了解到Agent及其构建平台的价值,通过《在函数计算上部署专属的Agent平台》你获得了专属的Agent平台,本篇进入更加激动人心的使用阶段,一起探索Agent的魅力吧
1619 6
Agent平台快速体验
|
JavaScript
jQuery 表格全选反选
jQuery 表格全选反选
134 0
|
Kubernetes Cloud Native 架构师
阿里研究员谷朴:警惕软件复杂度困局
对于大型的软件系统如互联网分布式应用或企业级软件,为何我们常常会陷入复杂度陷阱?如何识别复杂度增长的因素?在代码开发以及演进的过程中需要遵循哪些原则?本文将分享阿里研究员谷朴关于软件复杂度的思考:什么是复杂度、复杂度是如何产生的以及解决的思路。较长,同学们可收藏后再看。
阿里研究员谷朴:警惕软件复杂度困局
|
搜索推荐 安全 API
|
Python
Python量化炒股的数据信息获取—获取沪深股市每日成交概况信息
Python量化炒股的数据信息获取—获取沪深股市每日成交概况信息
448 5
|
Linux 网络安全 开发工具
|
缓存 前端开发 JavaScript
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
756 1
|
NoSQL 测试技术 MongoDB
【MongoDB 专栏】MongoDB 的性能基准测试与评估
【5月更文挑战第11天】MongoDB的性能基准测试对于优化至关重要,涉及数据读写速度、查询响应时间及吞吐量等指标。测试应明确目标和范围,选择合适的工具,考虑数据模型、索引、查询优化和系统配置等因素。性能评估需关注读写吞吐量、响应时间和资源利用率。通过多次测试、逐步增加负载和对比其他系统,识别性能瓶颈并持续优化。随着技术发展,测试方法和工具将持续创新,以应对复杂性能挑战。
718 3
【MongoDB 专栏】MongoDB 的性能基准测试与评估
java将字符串按照指定长度分割成字符串数组
java将字符串按照指定长度分割成字符串数组
364 0
|
机器学习/深度学习 数据采集 大数据
大数据技术下的企业智能决策支持系统
大数据技术下的企业智能决策支持系统
616 0