ACM 入门1169

/* 题目描述
输入一个大于1的正整数,判断它是否为素数(prime,又称质数)。
如果这个数是素数,则输出yes,否则输出no。 末尾输出换行。
输入 一个大于1的正整数
输出 根据输入数据,判断概述是否为素数。如果这个数是素数,则输出yes,否则输出no。
注意末尾输出换行。
样例输入 7
样例输出 yes */

少一位数法

#include<stdio.h>
int main()
{
    int n,i=1;
    scanf("%d",&n);
    for(i=2;i<=n-1;i++)        //判定素数,万分记住,一定需要判定其-1或平方根和2区间能否有整数整除;
    if(n%i==0) break;          //如果其除以i等于0,立刻停止进行判定
    if(i>n-1)printf("yes\n"); //如果i以及超过了原值,证明没有数可整除,素数
    else printf("no\n");       //反之选择可以。
    return 0;
}

平方根法


#include<stdio.h>
#include<math.h>
int main()
{
    int n,i=1;
    int k;
    scanf("%d",&n);
    k=sqrt(n);
    for(i=2;i<k;i++)        //判定素数,万分记住,一定需要判定其-1或平方根和2区间能否有整数整除;
    if(k%i==0) break;          //如果其处以i等于0,立刻停止进行判定
    if(i>=k)printf("yes\n");  //如果i以及超过了原值,证明没有数可整除,素数
    else printf("no\n");       //反之选择可以。
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42766201/article/details/83478052
ACM