完数的判断

简介: 完数的判断

完数的判断

代码展示

#include <stdio.h>
int main()
{
    int N;
    scanf("%d", &N);
    int yinzi[N]; //用来存放所查询的数的因子,打印需要
    int sum = 0;  //因子总和
    int n = 0;    //含有因子的个数
    int i, j, k;
    for (i = 2; i < N; i++) //遍历N之内的所有数,从2~N
    {
        for (j = 1; j <= i/2; j++) //用该数除以该数内所有数,若余数为0,则为其因子,不考虑它本身
                                         //加快速度1 一个数的因子不可能超过它的1/2
        {
            if (i % j == 0)
            {
                yinzi[n++] = j;
                sum += j; //对因子求和
                if (sum > i) //加快速度2 当求得sum已经大于该数的时候,提前break
                {
                    sum = 0;
                    n = 0;
                    break;
                }
            }
        }
        if (sum == i)
        {
            printf("%d its factors are ", i);
            for (k = 0; k < n; k++)
                printf("%d ", yinzi[k]);
            printf("\n");
        }
        sum = 0; //注意清0
        n = 0;
    }
    return 0;
}
相关文章
|
存储 Python
用python将csv转excel (.xls和.xlsx)的几种方式
用python将csv转excel (.xls和.xlsx)的几种方式
771 4
|
9月前
|
存储 人工智能 算法
《探秘AI绿色计算:降低人工智能硬件能耗的热点技术》
在人工智能快速发展的背景下,硬件能耗问题日益突出。为实现绿色计算,降低能耗成为关键课题。新型硬件架构如CRAM、自旋电子器件和量子计算硬件,以及优化的低功耗芯片设计、3D集成技术和液冷散热技术等,正崭露头角。同时,硬件与软件协同优化,通过模型压缩、算法适配等手段,进一步提升能效。这些技术将推动AI向更绿色、高效的方向发展,助力应对全球气候变化。
473 19
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
233 1
|
安全 Java 数据库连接
Dataphin的数据共享的应用场景和方案
不同的业务场景对数据访问和使用有着各自独特的需求,从简单的数据下载到复杂的跨系统集成,选择合适的数据共享与访问方式至关重要。本文旨在探讨几种常见的Dataphin上的数据共享与访问机制——包括数据复制、数据下载、视图创建、行级及列级权限控制、API数据服务以及JDBC连接等,并分析它们各自的适用场景、优势及限制,以帮助企业更好地根据自身需求做出合理的选择。
413 0
|
Java Android开发 数据安全/隐私保护
Android中多进程通信有几种方式?需要注意哪些问题?
本文介绍了Android中的多进程通信(IPC),探讨了IPC的重要性及其实现方式,如Intent、Binder、AIDL等,并通过一个使用Binder机制的示例详细说明了其实现过程。
886 4
|
XML Java 开发工具
AAPT2简介
AAPT2简介
|
搜索推荐 网络架构 UED
什么是超链接?
本文介绍超链接的基本概念及其在网络中的重要性。超链接作为Web的核心组成部分,由蒂姆·伯纳斯·李在1989年提出,与URL、HTTP共同构成Web的三大支柱。通过链接,用户能轻松从一个文档跳转至另一个文档。文章探讨了不同类型的链接,包括内部链接、外部链接与传入链接,并介绍了锚点链接的功能。此外,还强调了链接对于用户体验及搜索引擎优化(SEO)的重要性,以及如何合理构建链接以提升网站的可用性和搜索引擎排名。最后,提供了进一步学习资源,帮助读者深入了解URL结构与超链接的实际应用。
1345 3
|
前端开发 JavaScript 测试技术
安卓应用开发中的架构模式解析
【6月更文挑战第21天】在软件开发领域,架构模式是设计优雅、高效、可维护应用程序的基石。本文深入探讨了安卓应用开发中常见的架构模式,包括MVC、MVP、MVVM和Clean Architecture,旨在为开发者提供一个清晰的指导,帮助他们选择最适合自己项目的架构风格。通过对比分析这些架构模式的特点、优势以及适用场景,文章揭示了如何根据项目需求和团队能力来采用恰当的架构模式,以实现代码的可维护性、可扩展性和可测试性。
270 7
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
481 5
|
存储 安全 网络安全
Windows操作系统中:共享文件夹以及防火墙介绍
Windows操作系统中:共享文件夹以及防火墙介绍
1207 0