搜索
查看: 740|回复: 7
打印 上一主题 下一主题

[原创] 1秒证明质数

[复制链接]
跳转到指定楼层
楼主
发表于 2015-9-26 19:11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 4399APPLE 于 2015-9-27 08:35 编辑
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdbool.h>

  4. bool Prime(int p)
  5. {
  6.     int i, x = (int)sqrt(p) + 1;

  7.     if(p == 2 || p == 3)
  8.         return true;
  9.     if(p == 1 || !(p % 2) || !(p % 3))
  10.         return false;

  11.     for(i = 5;i <= x;i += 2)
  12.         if(!(p % i))
  13.             return false;

  14.     return true;
  15. }

  16. int main()
  17. {
  18.     int n;

  19.     scanf("%d", &n);
  20.     printf("%s\n", Prime(n) ? "是" : "不是");

  21.     return 0;
  22. }
复制代码

推荐
发表于 2015-9-27 14:31:28 | 只看该作者
不至于这么麻烦
推荐
发表于 2015-9-26 19:54:57 | 只看该作者
{:soso_e179:}

点评

在我看来,还不够好。  发表于 2018-2-2 22:23
地板
发表于 2015-9-29 14:54:03 | 只看该作者
666
5#
发表于 2015-9-30 17:28:40 | 只看该作者
6666666666666666666666666666666666666666666666
6#
发表于 2016-8-4 21:30:05 | 只看该作者
棒棒哒
7#
发表于 2018-2-1 08:28:17 | 只看该作者
[mw_shl_code=c,true]bool pri(const long long int num)
{
        if(num<2)
                return false;
        const long long int s=sqrt(num);
        for(long long int i=2;i<=s;i++)
                if(num%i==0)
                        return false;
        return true;
}[/mw_shl_code]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表