//打印水仙花数
//int main()
//{
// int a = 0;
// int i = 0;
// int arr[7] = { 0 };
// int* p = arr;
// for (; a <= 100000; a++)
// {
// int count = 0;
// int b = a;
// int sum = 0;
// while (b != 0)
// {
// *(p + count++) = b % 10;
// b = b / 10;
// }
// for (i = count - 1; i >= 0; i--)
// {
// b = 1;
// int r = count;
// for (; r > 0; r--)
// {
// b *= *(p + i);
// }
// sum += b;
// }
// if (sum == a)
// {
// printf("%d ", a);
// }
// }
// return 0;
//}
//
//简化之后,引入新函数
#include<math.h>
int main()
{
int a = 0;
for (; a <= 100000; a++)
{
int count = 0;
int b = a;
int sum = 0;
while (b)
{
count++;
b = b / 10;
}
b = a;
while (b)
{
sum += pow(b % 10, count);//pow(x,y)函数,是计算x的y次方。参数都是double,头文件是math.h
b = b / 10;
}
if (sum == a)
{
printf("%d ", a);
}
}
return 0;
}
20220513练习
最新推荐文章于 2024-07-25 22:44:17 发布