[51nod1106]质数检测
解题关键:
根据质数的定义,在判断一个数n是否是质数时,我们只要用1至n-1去除n,看看能否整除即可。但我们有更好的办法。先找一个数m,使m的平方大于n,再用<=m的质数去除n(n即为被除数),如果都不能整除,则n必然是质数
。如我们要判断1993是不是质数,50*50>1993,那么我们只要用1993除以<50的质数看是否能整除,若不能即为质数.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,t;
int is_prime[],prime[];
int sieve(int n){
int p=;
fill(is_prime,is_prime+n+,);
is_prime[]=is_prime[]=;
for(int i=;i<=n;i++){
if(is_prime[i]){
prime[p++]=i;
for(int j=*i;j<=n;j+=i) is_prime[j]=;
}
}
return p;
}
int main(){
cin>>t;
int p=sieve(1e5);
while(t--){
bool flag=false;
cin>>n;
if(n==){
printf("yes\n");
continue;
}
for(int i=;prime[i]*prime[i]<=n;i++){
if(n%prime[i]==){
flag=true;
break;
}
}
if(flag) printf("no\n");
else printf("yes\n");
}
return ;
}
[51nod1106]质数检测的更多相关文章
- 51nod 1106 质数检测——Mr判素数
质数检测一般都是根号n的写法 当然Mr判素数的方法可以实现log的复杂度2333 Mr判素数的话 我们根据费马小定理只要P是素数 那么另一个素数x 满足 x^P-1≡1(mod P) 同时 x^2%P ...
- 51nod 1186 质数检测 V2
1186 质数检测 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出1个正整数N,检测N是否为质数.如果是,输出"Yes&quo ...
- (数论 欧拉筛法)51NOD 1106 质数检测
给出N个正整数,检测每个数是否为质数.如果是,输出"Yes",否则输出"No". Input 第1行:一个数N,表示正整数的数量.(1 <= N &l ...
- F - 质数检测 V2
https://vjudge.net/contest/218366 Java解 import java.math.BigInteger; import java.util.Scanner; publi ...
- 51nod 1106 质数检测
#include <bits/stdc++.h> using namespace std; int n; ; bool s[maxn]; void is_prime() { memset( ...
- 【51NOD-0】1106 质数检测
[算法]数学 #include<cstdio> #include<cmath> bool ok(int x) { int m=(int)sqrt(x+0.5); ;i<= ...
- P1001 第K极值【tyvj】
/*========================================== P1001 第K极值 内存限制 128MB 代码限制 64KB 描述 Description 给定一个长度为N ...
- go标准库的学习-crypto/rand
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/rand" rand包实现了用于加解密的更安全的随机数生成器. Var ...
- C语言1-100连加,求质数,算瑞年检测字母大小写,登录系统
#include <stdio.h> void test(){//1+2+3+4+.....+100 int a,b; a=0; b=0; for ( ; a<=100; a++) ...
随机推荐
- [原创]java WEB学习笔记19:初识MVC 设计模式:查询,删除 练习(理解思想),小结 ,问题
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 【leetcode刷题笔记】Substring with Concatenation of All Words
You are given a string, S, and a list of words, L, that are all of the same length. Find all startin ...
- Ubuntu15.10下***搭建及GUI客户端安装
1.依赖包安装 sudo apt-get install python-pip python-dev build-essential sudo pip install pip sudo apt-get ...
- vim配置文件 .vimrc 重要参数
vim配置文件的路径为 ~/.vimrc 重要参数如下: set mouse=a //激活鼠标可用 syntax enable //开启语法 set cursorline //开启当前行光标线 ...
- 修改push动画的方向
CATransition *animation = [CATransition animation]; animation.duration = 0.4; animation.timingFuncti ...
- Luogu-4166 [SCOI2007]最大土地面积
求平面内四边形的最大面积 显然四个端点都应该在凸包上,就先求凸包,然后\(n^2\)枚举四边形对角线,对于一个点\(i\),顺序枚举\(j\),同时用旋转卡壳的方法去找离对角线最远的两个点.总时间复杂 ...
- 算法(Algorithms)第4版 练习 1.5.4
代码实现: package com.qiusongde; import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdO ...
- 关于 tornado.simple_httpclient SimpleAsyncHTTPClient fetch下载大文件,默认60s的问题
遇到了线上发布任务失败的情况,要发布的包大小77M,网络OK,手动测试速度是1.7M,下载77M文件用时17s左右,理论上完全没有问题 但是,从日志看确实是download的时候,60s 超时了,而且 ...
- Codeforces Round #250 (Div. 2) D. The Child and Zoo 并查集
D. The Child and Zoo time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- POJ 3349 Snowflake Snow Snowflakes (哈希表)
题意:每片雪花有六瓣,给出n片雪花,六瓣花瓣的长度按顺时针或逆时针给出,判断其中有没有相同的雪花(六瓣花瓣的长度相同) 思路:如果直接遍历会超时,我试过.这里要用哈希表,哈希表的关键码key用六瓣花瓣 ...