NEFU 109

n最大为2000000000(不知为什么OJ上是1000),若为判断2000000000是素数,则必有一个素数在sqrt(n)内,求出这个范围 的所有素数,其比最大数据小的n‘的sqrt(n‘)也在这个范围 内。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
const int Max=50000;
bool prime[Max+1];
int isprime[Max];
int main(){
	memset(prime,true,sizeof(prime));
	prime[0]=prime[1]=false;
	int e=(int)sqrt(1.0*Max);
	int cp=0;
	for(int i=2;i<=e;i++){
		if(prime[i]){
			for(int j=i+i;j<=Max;j+=i)
			prime[j]=false;
		}
	}
	for(int i=0;i<=Max;i++)
	if(prime[i])
	isprime[cp++]=i;
	int n;
	while(scanf("%d",&n)!=EOF){
		if(n==1) { printf("NO\n"); continue; }
		int c=0;
		int lim;
		lim=sqrt(n*1.0);
		bool flag=true;
		for(int i=0;i<cp;i++)
		if(isprime[i]<=lim)
		if(n%isprime[i]==0)
		flag=false;
		if(flag)printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}

  

时间: 2024-07-30 13:49:41

NEFU 109的相关文章

数论及其应用——素数问题

数学是科学的女王,数论是数学的女王——高斯.  然后我再狗尾续个貂——素数是数论的女王. 谈及素数,可以牵扯出很多数学史上的美谈,例如前几天在知乎上看到关于“除去酒色,人类还怎么享受生活”的问题,在一个回答中就举个几个大科学家的例子,其中提到某个钟爱素数的数学家,选择再每月的素数天和妻子同居,一个月刚开始还好,但越到月末素数间隔变大,同居的日子也就变少. 在素数这块小地方,有很多著名的猜想,能证出来一些真的是非常非常的厉害,因为当今世界流传着这样一个传说,集齐七大世界数学难题,便可以召唤神龙,帮

LeetCode OJ Linked List: 138题、109题和191题

138题:Copy List with Random Pointer 题目分析: 本题思路1:第一步,你需要遍历一下链表,对于每个结点,你都new出一个连接在其后面.第二步,调整random指针.第三步,把复制的链表与原链表断开.时间复杂度O(N),空间复杂度O(1). 本题思路2:第一步,仍需要遍历一下链表,对于每个结点都new出一个节点,但不连接在其后面,把这种旧节点到新结点的映射关系,存储在map中.第二步,调整random指针.时间复杂度O(N),空间复杂度O(N). 本题思路3:第一步

nefu 462 fib组合

nefu 462 fib组合 (斐波那契数列的通项公式以及推倒过程) 分类: 数学2014-05-21 10:27 190人阅读 评论(0) 收藏 举报 题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=462 斐波那契数列的通项公式 推倒过程: 对于本题分析: 最后一行的一个变形为(6-2√5)^2/4 代码 [cpp] view plaincopyprint? #include <iostream> usi

Bringing up interface eth0: Determining if ip address 10.109.67.81 is already in use for device eth0...

重启网卡出现提示: Bringing up interface eth0:  Determining if ip address 10.109.67.81 is already in use for device eth0...                                                            [  OK  ] Bringing up interface eth1:  Determining if ip address 10.109.67.83

NEFU 84 - 五指山 - [exgcd求解一元线性同余方程]

题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=84 Time Limit:1000ms Memory Limit:65536K Description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:"我与你打个赌赛:你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你:若不能打出手掌,你还下界为妖,再修几劫,却来争吵." 那大圣闻言,暗笑道:"

老男孩教育每日一题-第109天-linux下创建各种类型的文件

参考答案: 创建普通文件 touch filename 创建目录文件 mkdir dirname 创建链接文件 ln -s filename linkname 创建块设备文件 mknod /dev/sdb b 16 8 创建字符类型文件 mknod /dev/ccc c 20 5 创建socket文件 mksock a.sock 创建管道文件 mkfifo pipe 备注 今天是每日一题陪伴大家的第109天,期待你的进步. 对于题目和答案的任何疑问,请在博客评论区留言.往期题目索引

NEFU 116 两仪剑法 【求最小公倍数】

题目链接:http://acm.nefu.edu.cn/JudgeOnline/status.php?problem_id=116&order=1 解题思路:求最小公倍数 #include<stdio.h> long long gcd(long long a,long long b) { if(b==0) return a; else return gcd(b,a%b); } int main() { long long m,n; while(scanf("%lld %lld

Entity Framework 6 Recipes 2nd Edition(10-9)译 -&gt; 在多对多关系中为插入和删除使用存储过程

10-9. 在多对多关系中为插入和删除使用存储过程 问题 想要在一个无载荷的多对多关系中使用存储过程(存储过程只影响关系的连接表) 解决方案 假设有一个多对多关系的作者( Author)表和书籍( Book)表. 用连接表AuthorBook来做多对多关系,如 Figure 10-11.所示: Figure 10-11. A payload-free, many-to-many relationship between an Author and a Book 当把表生成模型,那么模型就如Fig

LibreOJ #109. 并查集

二次联通门 : LibreOJ #109. 并查集 /* LibreOJ #109. 并查集 并查集 */ #include <cstdio> #define Max 4000090 #define Mod 998244353 void read (int &now) { now = 0; register char word = getchar (); while (word < '0' || word > '9') word = getchar (); while (w