hdu 2012 素数判定(打表)(备战LQB)
来源:互联网 发布:声音训练教程软件 编辑:程序博客网 时间:2024/04/28 17:24
按教程继续备战LQB。
题意是让你判断表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),该表达式的值是否都为素数。
打表法的素数判断。
直接上教程原文:
首先让我们来看看这些都是什么数。#include <stdio.h>int main(void){int i, c;for (c = 1, i = -39; i <51; i++){printf("%-5d", i * i + i + 41);if (c++ % 10 == 0) putchar('\n');}return 0;}运行结果:1523 1447 1373 1301 1231 1163 1097 1033 971 911853 797 743 691 641 593 547 503 461 421383 347 313 281 251 223 197 173 151 131113 97 83 71 61 53 47 43 41 4143 47 53 61 71 83 97 113 131 151173 197 223 251 281 313 347 383 421 461503 547 593 641 691 743 797 853 911 9711033 1097 1163 1231 1301 1373 1447 1523 1601 16811763 1847 1933 2021 2111 2203 2297 2393 2491 2591最大的数是2591,数据量非常小。所以判断素数的函数也不同这么花哨了。呵呵。对刚才的代码稍作修改,就能得到其是否为素数的判断矩阵:#include <stdio.h>int isprime(int n){int i;if (n < 2) return 0;for (i = 2; i * i <= n; i++){if (n % i == 0)return 0;}return 1;}int main(void){int i, c;for (c = 1, i = -39; i <51; i++){printf("%-2d", isprime(i * i + i + 41));//printf("%-5d", i * i + i + 41);if (c++ % 10 == 0) putchar('\n');}return 0;}运行结果:1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 00 1 1 0 1 1 1 1 0 1把结果保存入一个数组里,直接提交。^_^
代码:
#include<stdio.h>int main(){ int m, n; int x[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1 }; while (scanf("%d%d", &m, &n)!=EOF) { if(m==0&&n==0) break; for (m += 39, n += 39; x[m] && m <= n ; m++); //因为表x[]是从-39开始。所以初始两个数都+39。 puts(m > n ? "OK" : "Sorry"); } return 0;}
0 0
- hdu 2012 素数判定(打表)(备战LQB)
- hdu 2041 and hdu 2044 and hdu 2045(打表 递归)(备战LQB)
- HDU 2012素数判定(素数打表)
- HDU 2012 - 素数判定 ( 打表 )
- HDU-2012-素数判定【打表】
- hdoj2012素数判定(素数打表)
- hdoj 素数判定 2012 (素数打表)
- 杭电-2012 素数判定 (素数打表)
- hdu 2005 第几天?(处理闰年)(备战LQB)
- hdu 2047 (双路递归)(备战LQB)
- hdu 2036 计算多边形面积(备战LQB)
- hdu 2037 贪心+结构体排序(备战LQB)
- 素数判定 (素数)【HDU】-2012
- 素数判定 - 素数打表
- hdu 2024 C语言合法标识符(ctype.h 库函数)(备战LQB)
- hdu 2028 Lowest Common Multiple Plus(最大公约数最小公倍数)(备战LQB)
- hdu 2029 Palindromes _easy version(库函数 strrev)(备战LQB)
- hdoj 2012 素数判定 (打表)
- 80X86指令集
- 醉追诅酌纵仔住嘴锥追组族卒篆赚篆amszmk
- 看遍炎凉薄寡,听惯蜚短流长
- UserNamePasswrodAuthenticationFilter验证过程
- checkio (Numbers Factory)
- hdu 2012 素数判定(打表)(备战LQB)
- .NET平台下websocket协议的实现!
- cocos2dx视频教程进阶篇--第2天--打砖块游戏-box2d物理引擎--续
- cocos2dx视频教程进阶篇--第2天--打砖块游戏-box2d物理引擎
- hdu 1506
- Android输入法与自定义软键盘初探
- linux进程间通信之实名管道
- 数据库的增删改查方法
- 读书笔记--灵活顶点格式