c# 求1000之内的所有完数 程序怎么写

c# 求1000之内的所有完数 程序怎么写,第1张

本人来自南阳师范学院计算机科学与技术系,刚自学C#两天,这是我用C#控制台程序编的求1000之内的完数程序:

using System;

using SystemCollectionsGeneric;

using SystemLinq;

using SystemText;

namespace Wanshu

{

class Program

{

static void Main(string[] args)

{

ConsoleWriteLine("1000之内的所有“完数”:");

for (int i = 1; i <= 1000; i++)

{

int num = 0;

for (int j = 1; j < i; j++)

{

if (i % j == 0)

{

num += j;

}

}

if (num == i)

{

ConsoleWriteLine(i);

}

}

ConsoleReadLine();

}

}

}

输出结果为;

1000之内的所有“完数”:

6

28

496

根据完全数的定义,先计算所选取的整数a(a的取值1~1000)的因子,将各因子累加于m,若m等于a,则可确认a为完全数。

程序说明与注释

#include<stdioh>

void main()

{

int a,i,m;

printf("There are following perfect numbers smaller than 1000:\\n");

for(a=1;a<1000;a++) /循环控制选取1~1000中的各数进行判断/

{

for(m=0,i=1;i<=a/2;i++) /计算a的因子,并将各因子之和m=a,则a是完全数输出/

if(!(a%i))m+=i;

if(m==a)

printf("%4d ",a);

}

printf("\\n");

}

运行结果

TThere are following perfect numbers smaller than 1000:

6 28 496

完全数(Perfect number),又称完美数或完备数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。

#include "stdioh"

int main()

{

    int sum,k,j;

    sum=0;

    for(k=2;k<=100;k++)//从2开始判断该数是否是完数

    {

        sum=0;

        for(j=1;j<k;j++)//计算所有真因子的和

            if(k%j==0)

                sum=sum+j;

        if(sum==k)//如果该数恰好等于它的所有真因子的和,输出该完数

            printf("%d ",k);

    }

    return 0;

}

以上就是关于c# 求1000之内的所有完数 程序怎么写全部的内容,包括:c# 求1000之内的所有完数 程序怎么写、利用C语言中的函数求1000以内的完数、如何编写程序 “100以内所有完数”等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9969010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存