查找水仙花数 (C++)

水仙花数 (c++)

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

tips:代码注释中的例子使用的 "="是指数学中的等于号,而不是指代码编程中的赋值号

#include<iostream>
using namespace std;
int main()
{
 int num = 100 ;//定义一个最小的三位数
 int a = 0; //定义个位数
 int b = 0; //定义十位数
 int c = 0; //定义百位数
 while(num < 1000) //使用while循环,由于水仙花数是三位数,所以条件num要小于1000
	 {
 		a = num % 10;  //个位数是通过取于10的余数 eg:101 % 10 = 1
 		b = num / 10 % 10;/*十位数是通过先整除10再取于10的余数 
 		                  eg:111 / 10 % 10 = 11 % 10 = 1 */
 		c = num / 100; // 百位数是直接通过整除100获得 eg: 211 / 100 = 2
 	
 		if( a*a*a + b*b*b + c*c*c == num)  //根据水仙花数的定义使用条件选择运算
 		{
 		
 			cout << num << endl;    //输出水仙花数
 		}
 		 	
 		num++;  //从100开始自增到999
 			
	 }
 }
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值