#include<stdio.h>
//三次方
int cube(int number)
{
return (number * number * number);
}
//打印1000以内的水仙花数。
//【方法一】
void Print_narcissus_number()
{
for (int i = 100; i < 1000; i++)
{
int i1 = i;
int bit = i1 % 10;
i1 = i1 / 10;
int ten_bit = i1 % 10;
int Hundredth=i1 / 10;
if (cube(bit) + cube(ten_bit) + cube(Hundredth)==i)
{
printf("%d\n", i);
}
}
}
//【方法二】
void Print_narcissus_number_1()
{
int i, j, k;
for (int n = 100; n < 1000; n++)
{
i = n / 100;//提取出百位数,直接除以100;
j = n / 10 % 10;//提取出十位数,先除以10,这样就把三位数变成了两位数,然后取模。
k = n % 10;//提取出个位数,直接取模。
if (cube(i) + cube(j) + cube(k) == n)
{
printf("%d\n", n);
}
}
}
int main()
{
Print_narcissus_number();
Print_narcissus_number_1();
return 0;
}
2021-9-15【找水仙花数】
最新推荐文章于 2024-10-04 23:00:36 发布