输出1000以内完数 - 大学的新篇章

来源:互联网 发布:西南交大网络教育报名 编辑:程序博客网 时间:2024/05/18 07:01

 前言不想说太多,总之,在华中科技大学计算机系的学习算是开始了吧,现在知道的不多,就当是巩固一下了,一个小练习。

 所谓完数,就是其本身为其因数之和的数,例如,6的因数有1、2、3,同时,6=1+2+3,所以6就是一个完数。

 一开始写的时候,忘记了让s归零即s=0这个过程,所以始终没有输出任何数字,在纸上琢磨很久,始终无解,一上机,立马就感觉到问题了,果然计算机是一门实践性的课程。

  程序如下:

#include <stdio.h>
#include <conio.h>

int main()
{

    int n,i,s=0;//n为完数,i为因数,s为因数之和
   for(n=2;n<=1000;n++)
    {
      for(i=1;i
      {
          if(n%i==0)s=s+i;
      }
      if(s==n)
      {
          printf("%dits factors are ",n);
         for(i=1;i
          {
             if(n%i==0)printf("%d,",i);
          }
          printf("\b"); //输入退格键,删掉最后一个多输出的逗号
         printf("\n"); //每行完数输出完后换行
      }
      s=0;
    }
   getch();
    return0;
}

 

程序运行如下:

输出1000以内完数 <wbr>- <wbr>大学的新篇章

0 0
原创粉丝点击