C语言程序100例之C#版-019
C程序源代码:
【程序19】
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数。
1. 程序分析:请参照程序<--上页程序14.
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu",j);
for(i=0;i<n;i++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
getch();
}
########################
C#语言程序:
using System;
class C319
{
static void Main()
{
//C语言规定只有静态存储数组和外部存储数组才可作初始化赋值。
//所以C语言代码的整型数组声明时需要使用static
int[] k = new int[35];
int i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
Console.Write(" {0} is a wanshu ",j);
for(i=0;i<n;i++)
Console.Write(k[i]+",");
Console.WriteLine(k[n]);
}
}
}
}
