判断一个数是不是水仙花数
#define _CRT_SECURE_NO_WARNINGS 1
#include
int index(int n /*要乘的数*/)
{
int a = n;
int sum = 0;//次方数
while (a > 0)
{
a /= 10;
sum++;
}
int b = n;//记录n的值
int k = 0;//总和
for (int i = 0; i < sum; i++)
{
int d = b % 10;
int c = 1;
for (int j = 0; j < sum; j++)
{
c *= d;//每位数次方后的值
}
k += c;//累积值
b /= 10;//数值向前进一位
}
return k;
}
int main()
{
//printf("%d", index(33));
int a = 0;
int b = 0;
printf("打印a到b的水仙花数\n");
printf("a:"); scanf("%d", &a);
printf("b:"); scanf("%d", &b);
printf("水仙花数:");
for (int i = a; i <= b; i++)
{
if (i == index(i))
{
printf("%d ",i);
}
}
return 0;
}
#include
int index(int n /*要乘的数*/)
{
int a = n;
int sum = 0;//次方数
while (a > 0)
{
a /= 10;
sum++;
}
int b = n;//记录n的值
int k = 0;//总和
for (int i = 0; i < sum; i++)
{
int d = b % 10;
int c = 1;
for (int j = 0; j < sum; j++)
{
c *= d;//每位数次方后的值
}
k += c;//累积值
b /= 10;//数值向前进一位
}
return k;
}
int main()
{
//printf("%d", index(33));
int a = 0;
int b = 0;
printf("打印a到b的水仙花数\n");
printf("a:"); scanf("%d", &a);
printf("b:"); scanf("%d", &b);
printf("水仙花数:");
for (int i = a; i <= b; i++)
{
if (i == index(i))
{
printf("%d ",i);
}
}
return 0;
}
全部评论
相关推荐
11-28 17:58
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享