hdu 1012 素数判定

这道题~以前判定prime是一个个去试着整除再去存储,上次弄过欧拉函数那题目之后就知道了,这样会更快捷:

1 prime[0] = prime[1] = 1;
2     for(int i = 2; i <maxn; i++)
3     {
4         if(!prime[i])
5         {
6             for(int j = i * 2; j < maxn; j += i)
7                 prime[j] = 1;
8         }
9     }

以下是AC代码~~~水水题~

 1 #include<iostream>
 2 #include<memory.h>
 3 using namespace std;
 4 #define maxn 3000
 5 int prime[maxn];
 6 void f()
 7 {
 8     memset(prime,0,sizeof(prime));
 9     prime[0] = prime[1] = 1;
10     for(int i = 2; i <maxn; i++)
11     {
12         if(!prime[i])
13         {
14             for(int j = i * 2; j < maxn; j += i)
15                 prime[j] = 1;
16         }
17     }
18 }
19 int main()
20 {
21     int n,m;
22     int f;
23     while(cin>>n>>m && (n + m))
24     {
25         f = 0;
26         for(int i = n; i <= m; i++)
27             if(prime[i*i+i+41])
28             {
29                 f = 1;
30                 break;
31             }
32         if(f)
33             cout << "Sorry" << endl;
34         else
35             cout << "OK" << endl;
36     }
37     return 0;
38 }

hdu 1012 素数判定,布布扣,bubuko.com

时间: 2024-10-13 06:43:28

hdu 1012 素数判定的相关文章

hdu 2012 素数判定 Miller_Rabbin

素数判定 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 71785    Accepted Submission(s): 24969 Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数. Input 输入数据

HDU 2012 素数判定

素数判定 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 72746    Accepted Submission(s): 25331 Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数. Input 输入数

HDU - 2012 素数判定 解题

素数判定 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 140168    Accepted Submission(s): 49576 Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数. Input 输入

HDU 2012 素数判定(素数)

http://acm.hdu.edu.cn/showproblem.php?pid=2012 题意:水题一枚 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数. 分析: 本题的数据范围很小,求出表达式在-39到50内的所有可能值可以得到下面的数: 1523 1447 13731301 1231 1163 1097 1033 971  911 853  797 743  691  641 593  547 

hdu 1397 (素数判定)

一开始提交了这个,果断TLE 1 #include <cstdio> 2 #include <iostream> 3 #include <string> 4 #include <queue> 5 #include <vector> 6 #include <map> 7 #include <cmath> 8 using namespace std; 9 10 #define MEM(a,v) memset (a,v,size

水题/hdu 1012 u Calculate e

题意 求n=0~9时的sigma(1/n!) 分析 因为刚学c++ 所以对浮点操作还是很不熟练,正好来了这么一道题 Accepted Code 1 /* 2 PROBLEM:hdu 1012 3 AUTHER:Nicole Lam 4 MEMO:水题 5 */ 6 #include<iostream> 7 #include<iomanip> 8 using namespace std; 9 double a[10]; 10 int main() 11 { 12 cout<&l

hdu 1012:u Calculate e(数学题,水题)

u Calculate e Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 28686    Accepted Submission(s): 12762 Problem Description A simple mathematical formula for e iswhere n is allowed to go to infinit

数学#素数判定Miller_Rabin+大数因数分解Pollard_rho算法 POJ 1811&amp;2429

素数判定Miller_Rabin算法详解: http://blog.csdn.net/maxichu/article/details/45458569 大数因数分解Pollard_rho算法详解: http://blog.csdn.net/maxichu/article/details/45459533 然后是参考了kuangbin的模板: http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646396.html 模板如下: //快速乘 (a

素数判定(给你两个数a、b,现在的问题是要判断这两个数组成的区间内共有多少个素数)

1 #include<stdio.h> 2 #include<math.h> 3 int func(int x)//自定义函数实现寻找素数功能 4 { 5 int i, flag = 1; 6 for (i = 2; i <= (int)sqrt((float)x); i++) //取到平方根就好,(float)x,强制将int x型转化成float型,再将平方根转化为int型 7 { 8 if (x%i == 0) //是合数,则标记 9 flag = 0; 10 } 11