输出所有水仙花数
一个三位数,每位的立方之和为其数本身
输出10000以内的完全数
又称完美数,它是指真因子之和等于自身的自然数
输出10000以内的相亲数
两个正整数,X的真因子之和等于Y的真因子之和
一个三位数,每位的立方之和为其数本身
1
for(inti=100;i<=999;i++)
2

{
3
4
if(Math.Pow(i/100,3)+
5
Math.Pow((i/10)-(i/100)*10,3)+
6
Math.Pow(i-i/10*10,3)==i)
7

{
8
System.Console.WriteLine(
9
"{0}:[{1}|{2}|{3}]",i,i/100,(i/10)-(i/100)*10,i-i/10*10);
10
}
11
}
for(inti=100;i<=999;i++)2


{3

4
if(Math.Pow(i/100,3)+5
Math.Pow((i/10)-(i/100)*10,3)+6
Math.Pow(i-i/10*10,3)==i)7


{8
System.Console.WriteLine(9
"{0}:[{1}|{2}|{3}]",i,i/100,(i/10)-(i/100)*10,i-i/10*10);10
}11
}
输出10000以内的完全数
又称完美数,它是指真因子之和等于自身的自然数
1
for(inti=1;i<=10000;i++)
2

{
3
intk=0;
4
for(intj=1;j<=i-1;j++)
5

{
6
if((i%j)==0)
7

{
8
k+=j;
9
}
10
}
11
if(k==i)
12

{
13
System.Console.WriteLine(i);
14
}
15
}
for(inti=1;i<=10000;i++)2


{3
intk=0;4
for(intj=1;j<=i-1;j++)5


{6
if((i%j)==0)7


{8
k+=j;9
}10
}11
if(k==i)12


{13
System.Console.WriteLine(i);14
}15
}
输出10000以内的相亲数
两个正整数,X的真因子之和等于Y的真因子之和
1
for(inti=1;i<=10000;i++)
2

{
3
intx=i;//X为初值
4
inty=0;
5
for(intj=1;j<=x-1;j++)//计算X的真因子
6

{
7
if((x%j)==0)
8

{y+=j;}
9
}//Y=X的真因子之合
10
if(y==x)//完美数
11

{continue;}
12
x=0;
13
for(intj=1;j<=y-1;j++)//计算Y的真因子
14

{
15
if((y%j)==0)
16

{x+=j;}
17
}//X=Y的真因子之合
18
if(x==i)
19

{
20
System.Console.WriteLine("{0}--{1}",x,y);
21
}
22
}
for(inti=1;i<=10000;i++)2


{3
intx=i;//X为初值4
inty=0;5
for(intj=1;j<=x-1;j++)//计算X的真因子6


{7
if((x%j)==0)8


{y+=j;}9
}//Y=X的真因子之合10
if(y==x)//完美数11


{continue;}12
x=0;13
for(intj=1;j<=y-1;j++)//计算Y的真因子14


{15
if((y%j)==0)16


{x+=j;}17
}//X=Y的真因子之合18
if(x==i)19


{20
System.Console.WriteLine("{0}--{1}",x,y);21
}22
}
本文介绍了一种算法,用于找出特定范围内的水仙花数、完全数及相亲数。通过具体的代码实现展示了如何判断一个数是否属于这三类特殊数学数,并列举了10000以内的所有符合条件的数。

被折叠的 条评论
为什么被折叠?



