0
点赞
收藏
分享

微信扫一扫

C++实现水仙花数

萧萧雨潇潇 2022-01-08 阅读 24

C++实现三位数的水仙花数

题目要求:

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身

例如:1^3 + 5^3+ 3^3 = 153

请利用do…while语句,求出所有3位数中的水仙花数

实现思路
打印100~999的三位数
增加if判断,若满足水仙花数,则输出
利用while来不断执行条件语句

参考代码如下:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	int number = 100;
	do
	{
		int a = 0;
		int b = 0;
		int c = 0;

		a = number % 10;//获取个位数
		b = number / 10 % 10;//获取十位数
		c = number /   100;//获取百位数
		double d = pow(a,3) + pow(b,3) + pow(c,3);
		if (d == number)
		{
			cout << number << endl;
		}
		number++;
	} while (number < 1000);

	system("pause");
	return 0;
}

这里用了pow()来实现数的次幂功能,因为pow得到的是double类型的数据,如果用int 定义d,会涉及到一个强制转换,但也没错,这里为了省事直接double d 了。

举报

相关推荐

c++题目_水仙花数

c水仙花数

C++输出水仙花数

c语言:水仙花数

C语言 水仙花数

水仙花数——C语言

水仙花数(java)

打印水仙花数

0 条评论