判断素数类问题ACing

1,判断正整数m是否为素数

    int i,m;    printf("Enter a number:");    scanf("%d",&m);    for(i=2;i<=m/2;i++)        if(m%i == 0)            break;  //若m能被某个i整除,则m不是素数,提前结束循环    if(i > m/2&&m != 1)  //若循环正常结束,说明m不能被任何一个i整除        printf("%d is a prime number!\n",m);    else        printf("No!\n");            return 0; 

2,使用嵌套循环求100以内的全部素数

    int count,i,m,n;    count = 0;  //记录素数的个数,用于控制输出格式    for(m=2;m<=100;m++){        n = sqrt(m);        for(i=2;i<=n;i++)            if(m%i == 0)                break;        if(i>n){  //如果m是素数             printf("%6d",m);  //输出m            count++;  //累加已经输出的素数个数             if(count%10 == 0)  //如果count是10的倍数,换行                printf("\n");         }    }     printf("\n");    return 0;

3,使用函数求100以内的全部素数

#include<stdio.h>#include<math.h>int main(void){    int count,m;    int prime(int m);  //函数声明    count = 0;  //记录素数的个数,用于控制输出格式    for(m=2;m<=100;m++){        if(prime(m) != 0){  //调用prime(m)判断m是否为素数             printf("%6d",m);  //输出m            count++;  //累加已经输出的素数个数             if(count%10 == 0)  //如果count是10的倍数,换行                printf("\n");         }    }     printf("\n"); } /* 定义判断素数的函数,如果m是素数则返回1,否则返回0 */int prime(int m){    int i,n;    if(m == 1) return 0;  //1不是素数,返回0    n = sqrt(m);    for(i=2;i<=n;i++){        if(m%i == 0){  //如果m不是素数             return 0;  //返回0         }        return 1;    } } 

我想一个人旅行,背上简单的行囊,踏上行程,

判断素数类问题ACing

相关文章:

你感兴趣的文章:

标签云: