九度OJ1047(素数判断)----20140802

本文提供了两种不同的C语言程序实现来判断一个输入的整数是否为素数。第一种方法通过遍历从2到n-1的所有整数来检查n是否能被整除。第二种方法优化了遍历范围,仅检查从2到根号n之间的整数,大幅提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、----

 

#include<stdio.h>
int main()
{
    int n,i,t;
    while(scanf("%d",&n)!=EOF)
    {
        t=0;
        if(n<=1)
        printf("no\n");
        else
       {
              for(i=2;i<n;i++)
              {
                if(n%i==0) { t=1;break;}
               }
               if(t==0) printf("yes\n");
               else printf("no\n");     
       }                
    }
    return 0;
}

 

二、----

#include<stdio.h>
#include<math.h>
int main()
{
    int n,m,i,t;
    while(scanf("%d",&n)!=EOF)
    {
        t=0;
        if(n<=1)
        printf("no\n");
        else
       {
             m=sqrt(n);//简化;因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m。因此只需判定在2~4之间有无因子即可。
              for(i=2;i<=m;i++)
              {
                if(n%i==0) { t=1;break;}
               }
               if(t==0) printf("yes\n");
               else printf("no\n");     
       }                
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值