C++嵌套循环结构实例——编程找出所有水仙花数

首先对于水仙花数的解释,直接看链接叭

https://baike.baidu.com/item/水仙花数/2746160?fr=aladdin

分析一:

1.将三位数表示为i ,  j  ,  k

2.水仙花数:n=i³+j³+k³

3.如何从三位数i ,  j  ,  k中提取出数字i ,  j  ,  k?

k=(n/1)%10

j=(n/10)%10

i=(n/100)%10

#include 
using namespace std;
void main()
{int n,i,j,k;
for(n=100;n<=999;n++)
 {i=n/100;//提取百位数
j=(n/10)%10;//提取十位数
k=n%10;//提取个位数
if(n==i*i*i+j*j*j+k*k*k)
 cout<

C++嵌套循环结构实例——编程找出所有水仙花数_第1张图片

分析二:

令水仙花数的百位、十位、个位数字分别为x,y,z。则该三位数的值为100x+10y+z

且x的取值范围为1~9,而y和z的取值范围为0~9

根据水仙花数的要求,只要有100x+10y+z=x³+y³+z³即可

#include 
using namespace std;
void main()
{
	for(int x=1;x<=9;x++)
		for(int y=0;y<=9;y++)
			for(int z=0;z<=9;z++)
				if(x*x*x+y*y*y+z*z*z==100*x+10*y+z)
					cout<<(100*x+10*y+z)<<"是水仙花数。\n";

}

C++嵌套循环结构实例——编程找出所有水仙花数_第2张图片

 

 

 

 

 

 

 

你可能感兴趣的:(C++)