
请教第11和第12题,先定义函数,尤其是第12题,守形数这个好难啊
#include <stdio.h>
int sxh(int n)
{
int sum = 0;
int n1 = n;
while (n)
{
sum += (n % 10) * (n % 10) * (n % 10);
n /= 10;
}
return sum == n1;
}
int sxs(int a, int b)
{
int i = 10;
while (i <= a)
{
if (a % i == b)
return 1;
i *= 10;
}
return 0;
}
int main()
{
printf("水仙花:");
for (int i = 100; i <= 999; i++)
{
if (sxh(i)) printf("%d ", i);
}
printf("\n守形数:");
for (int i = 1; i < 999; i++)
{
if (sxs(i * i, i)) printf("%d ", i * i);
}
return 0;
}
水仙花:153 370 371 407
守形数:25 36 625 5776