题目:
编写一个求水花的函数和判断这个数是不是素数的函数;求出三为正整数的全部水仙数并判断求出的水仙花数是否为素数。所谓的水仙花数是指三位数的整数上的数字的立方和等于该整数本身。例如153就是一个水仙花 。
1.求素数的核心代码
int i;
for (i = 2;i < sqrt(n);i++)
{
if (n % i == 0)
return 0;
else
return 1;
}
2.求水仙的代码
int shuixian(int n)
{
int i, j, k;
i = n / 100;
j = n % 10 / 10;
k = n % 10;
return (i * i * i + j * j * j + k * k * k);
}
3 总代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int i;
for (i = 2;i < sqrt(n);i++)
{
if (n % i == 0)
return 0;
else
return 1;
}
}
int shuixian(int n)
{
int i, j, k;
i = n / 100;
j = n % 10 / 10;
k = n % 10;
return (i * i * i + j * j * j + k * k * k);
}
int main()
{
int i;
printf("\n输入所有正整数的水花数\n");
for (i = 100;i < 999;i++)
{
if (shuixian(i))
{
printf("%4d", i);
if (isprime(i))
printf("素数");
else
printf("非素数");
}
if (i % 5 == 0)
printf("\n");
}
return 0;
}
结果运行图: