c 判断水仙花数,质数(素数)

#include<stdio.h>
#include<stdbool.h>

//水仙花数--各位立方和等于本身
void sXh()
{
    int x,y,z;
    printf("查找出三位数的水仙花数\n");
    for(int i=100; i<=999; i++)
    {
        x = i/100;
        y = i%100/10;
        z = i%100%10;
        if(i == x*x*x + y*y*y + z*z*z)
            printf("%d,",i);
    }
    printf("\n");
}
//判断一个数是不是质数
void isPri()
{
    int x;
    bool isP = true;
    printf("输入一个数,判断是否为质数!\n");
    scanf("%d",&x);
    for(int i=1; i<x; i++)
    {
        if(x%i == 0 && i != 1)
            isP = false;
    }
    if(isP)
        printf("%d是质数\n",x);
    else
        printf("%d不是质数\n",x);

}
//输出n到m之间所有的质数
void isPris()
{
    int n,m,i;
    bool isP = true;
    printf("输入两个数,输出两个数之间的所有质数!\n");
    scanf("%d%d",&n,&m);
    for(i=n; i<=m; i++)
    {
        isP = true;
        for(int j=2; j<i; j++)
        {
            if(i%j == 0 && i != 1)
                isP = false;
        }
    if(isP && i != 1)
        printf("%d ",i);
    }
}
int main(void)
{
    sXh();
    isPri();
    isPris();
    return 0;
}

运行如下:

查找出三位数的水仙花数


153,370,371,407,


输入一个数,判断是否为质数!


157


157是质数


输入两个数,输出两个数之间的所有质数!


1 100


2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

 

 

posted @ 2015-04-04 17:08  林海云  阅读(629)  评论(0编辑  收藏  举报