hdu hdoj 1262 寻找素数对
- 格式:doc
- 大小:37.00 KB
- 文档页数:3
OJ输入输出训练:HDOJ 1089 ~HDOJ 1096一、C语言基础练习1001 计算两点间的距离HDOJ 2001 1002 第几天?HDOJ 2005 1003 平方和与立方和HDOJ 2007 1004 水仙花数HDOJ 2010 1005 素数判定HDOJ 2012 1006 数列有序!HDOJ 2019 1007 发工资咯:)HDOJ 2021 1008 海选女主角HDOJ 2022 1009 求平均成绩HDOJ 2023 1010 汉字统计HDOJ 2030 1011 进制转换HDOJ 2031 1012 杨辉三角HDOJ 2032 1013 人见人爱A+B HDOJ 2033 1014 人见人爱A-B HDOJ 2034 1015 亲和数HDOJ 2040 1016 Sum Problem HDOJ 1001 1017 A + B Problem II HDOJ 1002 1018 Let the Balloon Rise HDOJ 1004 1019 Elevator HDOJ 1008 1020 FatMouse' Trade HDOJ 1009 1021 As Easy As A+B HDOJ 1040 1022 The Hardest Problem Ever HDOJ 1048 1023 Climbing Worm HDOJ 1049 1024 Text Reverse HDOJ 1062 1025 An Easy Task HDOJ 1076 1026 What Is Your Grade? HDOJ 1084二、简单数学题1001 最小公倍数HDOJ 1108 1002 Least Common Multiple HDOJ 1019 1003 人见人爱A^B HDOJ 0235 1004 Rightmost Digit HDOJ 1061 1005 Fibonacci Again HDOJ 1021 1006 Number Sequence HDOJ 1005 1007 The area HDOJ 1071 1008 吃糖果HDOJ 1205 1009 Sky数HDOJ 2097 1010 Box of Bricks HDOJ 20881011 简易版之最短距离HDOJ 20831012 Fibbonacci Number HDOJ 20701013 Coin Change HDOJ 20691014 A + B Again HDOJ 20571015 Lowest Common Multiple Plus HDOJ 20281016 Can you solve this equation? HDOJ 21991017 Strange fuction HDOJ 28991018 Pseudoprime numbers HDOJ 19051019 Delta-wave HDOJ 10301020 月之数HDOJ 25021021 又见GCD HDOJ 25041022 找新朋友HDOJ 12861023 七夕节HDOJ 12151024 完数HDOJ 1406三、递推求解1001 超级楼梯HDOJ 20411002 不容易系列之二HDOJ 20421003 一只小蜜蜂... HDOJ 20441004 不容易系列之(3)——LELE的RPG难题HDOJ 20451005 骨牌铺方格HDOJ 20461006 折线分割平面HDOJ 20501007 母牛的故事HDOJ 20181008 下沙的沙子有几粒?HDOJ 12671009 自共轭Ferrers图HDOJ 12461010 汉诺塔II HDOJ 12071011 悼念512汶川大地震遇难同胞——重建希望小学HDOJ 2190 1012 Children’s Queue HDOJ 12971013 Tiling_easy version HDOJ 25011014 统计问题HDOJ 25631015 Buy the Ticket HDOJ 11331016 Game of Connections HDOJ 11341017 Computer Transformation HDOJ 10411018 Children’s Queue HDOJ 12971019 The Number of Paths HDOJ 12931020 "下沙野骆驼"ACM夏令营HDOJ 129四、简单典型DP1001 数塔HDOJ 20841002 Super Jumping! Jumping! Jumping! HDOJ 10871003 免费馅饼HDOJ 11761004 Common Subsequence HDOJ 11591005 搬寝室HDOJ 14211006 Humble Numbers HDOJ 10581007 Max Sum HDOJ 10031008 Max Sum Plus Plus HDOJ 10241009 FatMouse's Speed HDOJ 11601010 Bone Collector HDOJ 26021011 Piggy-Bank HDOJ 11141012 I NEED A OFFER! HDOJ 12031013 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活HDOJ 2191 1014 Coins HDOJ 2844五、简单博弈1001 Brave Game HDOJ 18461002 Good Luck in CET-4 Everybody! HDOJ 18471003 Fibonacci again and again HDOJ 18481004 Rabbit and Grass HDOJ 18491005 Being a Good Boy in Spring Festival HDOJ 18501006 kiki's game HDOJ 21471007 Public Sale HDOJ 21491008 悼念512汶川大地震遇难同胞——选拔志愿者HDOJ 21881009 丑数游戏1010 YLF's Game六、半程测试1001 CD HDOJ 37631002 Alaska HDOJ 37641003 Celebrity Split HDOJ 37651004 Knight's Trip HDOJ 37661005 Paintball HDOJ 37671006 Shopping HDOJ 37681007 Stack Machine HDOJ 37691008 Ideas HDOJ 37701009 HST HDOJ 37711010 Tunnelling the Earth H DOJ 3772七、母函数1001 Ignatius and the Princess III HDOJ 10281002 Square Coins HDOJ 13981003 Holding Bin-Laden Captive! HDOJ 10851004 Big Event in HDU HDOJ 11711005 Fruit HDOJ 21521006 The Balance HDOJ 1709八、并查集1001 How Many Tables HDOJ 1213 1002 小希的迷宫HDOJ 1272 1003 Is It A Tree? HDOJ 1325 1004 More is better HDOJ 1856 1005 Constructing Roads HDOJ 1102 1006 畅通工程HDOJ 1232 1007 还是畅通工程HDOJ 1233 1008 畅通工程HDOJ 1863 1009 畅通工程再续HDOJ 1875 1010 继续畅通工程HDOJ 1879共26 + 24 + 20 + 14 + 10 + 6 + 10 = 110 题。
HOJ题目分类整合HOJ discussboard上的几个分类:hoj稍有难度题目分类(数论篇)hft777 2008-11-16 20:35:43.0在做这些题目前请学会在线性时间内筛选素数建议在Search Problem里1输入:prime2输入:number把这些题目练练10007Miller-Rabin + Pollard10070RSA,Pollard10174数的质数表示10195扩展欧几里德10297数的素数分解+ Euler定理10247欧拉函数10544数的素数分解10621中国剩余定理10694数的原根10853LCM10977梅森数11099RSA ,扩展欧几里德11103数的素数分解11126广义GCD11134欧拉函数11145RSA , 扩展欧几里德+ Pollard11181中国剩余定理11262欧拉函数hoj稍有难度题目分类(搜索与图论篇)reason 2008-11-07 23:39:33.0 Hoj稍有难度题目分类1.搜索,最短路:IDA*即迭代加深A*搜索,个人认为IDA*是对迭代加深搜索的一个强剪枝在此给出迭代加深搜索框架,大家有兴趣的可研究其与dfs的区别int max_depth;void dfs( int depth ){if ( depth > max_depth )return;操作}10020状态广搜,可用位运算以及A*加速10034 同余类的应用,可说是最短路变形102058数码问题,A*或者双向广搜或者IDA*10321bfs10466 bfs10901IDA*11016同上,得有比较好的剪枝函数11168状态bfs11108状态bfs11240找出规律就简单了11284应该是个很简单的bfs,但比赛时犯傻了。
11159bfs+2分枚举答案,zfy有3次bfs的解法,参见解题报告11227有点意思的,不太难,想不到再看解题报告11072优先队列bfs11207 同上11244双向bfs10183dfs,最优性剪枝11019最短路+dp,应该也可直接用dijkstra做搜索还有不少好题的,大家有兴趣可在poj在找些好题做做Hoj应该也还有不少,限于篇幅,只写以上这些2.图论以及博弈109802分图最大权匹配,km算法110682分图最大匹配112232分图最大匹配10128 博弈,SG函数应用11117博弈,SG函数应用10187强连通分支应用10537割点10929割边10801拓扑排序10420差分约束系统10035最小费用最大流10465最小费用最大流10284最小度限制生成树图论题建议多去poj做,hoj比较少hoj题目分类reason 2008-09-09 21:51:16.0入门题,旨在熟悉OJ环境10000 10005 10006简单模拟,还有些数学题包括(基本的筛法求素数,简单递推,辗转相除求GCD,基本位操作,排序)10010 10015 10017 10022 1003810039 10042 10045 10047 1004810049 10050 10051 10052 1005810062 10067 10072 10073 1007410082 10141 10144 10146 1014810149 10150 10151 10160 1017310178 10182 10184 10185 1018910190 10225 10238 10281 1030710337 10360 10373 10378 1039510400 10404 10406 10475 1047710483 10485 10493 10509 1051210556 10558 10562 10568 1060610624 10675 10724 10735 1074710759 10797 10809 10826 1084010880 10952 10981 11069 1108411116 11148 1115011172 10013经典贪心,一般还得用到排序,经典动态规划,二分的应用10001 10003 10014 10063 1010210106 10179 10181 10192 1023310279 10290 10023 11018 1076110768 10145 10011 10089 10019基本的搜索,dfs,bfs10109 10166 10250 10265 1064110147 11017 10844 10865 11159下面是较难的题目,有些也不太难,:)10009catalan数,要用大数10020较难的bfs,需要用位表示状态10018dp,递推公式出来应该不太难100212分图最小覆盖,最小覆盖= 最大匹配10024算是dp吧10053可用随机算法10068归并排序求逆序10071TSP问题10080递推,大数100812分法解方程10088树形dp10096利用2次函数的性质10128博弈问题,SG函数求解10163可分治,快速求幂,复杂度O( logn )10205A*搜索10233可用2叉搜索树10247数论,费马小定理10280并查集入门103442维凸包问题,Graphm扫描算法10372建议用堆10374prim算法应用10457可以看作是joseph问题,线段树求解,好像有递归的方法104952维背包问题10497可参考discuss的解题报告10508递归应用10534置换群10680欧拉函数的应用10696线段树入门,也可用树状数组10733dp10758基本栈应用10790数论好题10801拓扑排序10850bfs好题,虽然暴力能过,建议用状态dp10929无向图割边10935很好的一道数学题109802分图最小权匹配,也可用最小费用最大流11016IDA*搜索11067trie树应用11120扩展欧几里德应用11121矩阵快速乘法11134polya计数定理11151dijkstra求最短路112232分图最大匹配10153floyd求最短路10284最小度限制生成树此较难分类旨在让大学了解些算法,拓宽视野因此较难的分类我大概就是每类大概找了1个题,有时间我再把相关的分类补上HOJ题目分类给选修课的同学huicpc11 2006-03-21 01:59:59.010000 弱10001 DP 讨论版里有解题报告10002 费马点难10003 拆分成两个过程DP O(n)10004 fft 快速傅立叶变换10005 弱10006 弱10007 miller_robin pollar_rho分解10008 递归的画图一般10009 组合数学好像是卡特兰数10010 简单,一个数组存状态一个存数值纯暴力10011 数学题有规律10012 纯暴力10013 一般难度算个万年历10014 简单DP,每次向下加最大的10015 弱10016 弱10017 贪心+回溯好像暴扫也出结果1001810019 简单贪心100201002110022 简单读题和格式很讨厌10023 贪心我在讨论版里有解题报告100241002510026 弱10027 同10001 最长递增子序列不过用二分查当前递增的子序列100281002910030 纯编译原理也算基础题了1003110032100331003410035100361003710038 弱10039 弱10040 一般从后向前扫好像奇数层取最大偶数层取最小10041 纯代码量的题10042100431004410045 简单Joseph Ring 考试的经典题目1004610047 简单字符串模拟加法10048 简单两个字符串比较公共字符10049 简单10050 简单开个状态数组hash10051 简单10052 简单有规律10053 稍难随机和两层循环降解状态都可以出结果10054 贪心+递增子序列100551005610057 讨厌读题简单的计算题10058 弱1005910060 稍难模拟1006110062 简单10进制转9进制10063 稍难的贪心10064100651006610067 简单有点递归交换的意味10068 稍难必须归并排序才能过bubble TLE 老大给了16M测试数据,哭吧10069 稍难好像还是归并100701007110072 弱10073 弱10074 DP 加f[1],f[2],f[3]100751007610077100781007910080 一般大数加法10081 简单推出一个超越方程只好二分了其实应该归到数值算法10082 简单贪心,不过有公式可推数学题10083100841008510086100871008810089 一般DP 定义一个maxa[251][251]的数组query 只需要O(N*K)的时间复杂度1009010091 一般排序以后暴搜4种可能组合1009210093 极其恶心的题目居然抛随机种子1009410095 暴搜我在讨论版里有解题报告1009610097 简单题一个qsort,写的暴痛苦10098 纯代码量题排序然后扫完9种情况10099 推公式1010010101 烂题10102 DP 二维的最大加和子段10103101041010510106 一般用匹配和离散化都可以把区间扫出来10107 一般DP1010810109 floodfill 种子染色法101101011110112 不是太复杂的模拟不过不好想1011310114 编译原理表达式的计算10115 一般7进制10116101171011810119101201012110122 贪心暴搜我在讨论版有解题报告101231012410125 简单的贪心1012610127 DP1012810129101301013110132101331013410135 简单10136 简单10137 一般并查集10138 简单的排序101391014010141 简单strtok函数的使用10142 简单前缀表达式的计算10143 简单模拟位操作10144 简单9进制加法10145 一般赤裸裸的背包10146 高精度乘法1014710148 一般空间换时间找素数10149 简单暴搜和位操作10150 高精度乘法10151 简单101521015310154 简单高精度乘法10155 贪心+回溯10156 稍难吧找重复单词DP和二叉查找树都可以不过推荐后者1015710158 简单暴力题10159 简单表达式计算10160 弱1016110162 讨厌的模拟10163 简单看讨论版解题报告10164101651016610167 简单搜索101681016910170101711017210173 弱10174 简单开个素数表方便些1017510176 简单表达式计算1017710178 弱10179 做了n遍了以前做过就归为简单101801018110182 简单两个数组匹配1018310184 简单用__int6410185 简单推出等差公式暴搜101861018710188 稍难模拟一个队列10189 弱10190 简单模拟1019110192 简单DP O(Nlog(N))和暴搜O(N^2))都可以出来101931019410195101961019710198101991020010201 一般英文转数字模拟题102021020310204 简单10205102061020710208102091021010211 简单10212 简单暴搜过102131021410215 简单排序然后搜索10216 弱排序102171021810219102201022110222 一般高精度乘法1022310224 一般状态机10225 简单01状态转换1022610227102281022910230102311023210233 这题数据太弱了让你们都过了10234 简单暴搜10235102361023710238 简单找规律注意精度真不行__int64 1023910240 简单注意汉字编码方式10241 一般表达式编译10242 一般表达式编译10243 一般KMP匹配1024410245 一般队列的模拟10246 一般暴搜1024710248102491025010251102521025310254 一般最长递增子序列1025510256102571025810259102601026110262 简单压栈模拟10263102641026510266102671026810269102701027110272102731027410275102761027710278re ACM200408103252006-03-21 11:20:41.0感谢,这样好找自己需要针对的题进行练习也拉点人气,最后一页补几个xnby2006-03-21 13:32:24.010252 一般搜索+剪枝10272 一般看懂题就可以模拟了10275 简单暴力10277 一般二分图匹配(男女匹配)10278 一般模拟找规律题这么庞大的工作,一定很辛苦呢。
素数筛法算法及其原理引⾔本⽂介绍部分素数筛法的步骤以及原理,并附带 python 算法的实现本⽂介绍的筛法有:厄拉多塞筛法(Eratosthenes Sieve )Sundaram 筛法欧拉筛法(Euler Sieve )分段筛法(Segmented Sieve )增量筛(Incremental sieve )Atkin 筛法厄拉多塞筛法(Sieve of Eratosthenes )1. 厄拉多塞筛法步骤给定⼀个数 n,从 2 开始依次将 √n 以内的素数的倍数标记为合数标记完成后,剩余未被标记的数为素数(从 2 开始)算法原理如下:读取输⼊的数 n ,将 2 ⾄ n 所有整数记录在表中从 2 开始,划去表中所有 2 的倍数由⼩到⼤寻找表中下⼀个未被划去的整数,再划去表中所有该整数的倍数重复第(3)步,直到找到的整数⼤于 √n 为⽌表中所有未被划去的整数均为素数2. 厄拉多塞筛法原理⾸先,先证明这种⽅法能够标记所有 2~n 之间的合数。
由整数的唯⼀分解定理知,任意⼀个⼤于1的正整数都可以被分解成有限个素数的乘积。
因此,任意⼀个合数都可以看做是⼀个素数的倍数的形式。
对于任意⼀个合数 n ,存在 p, q ,使得 n = p·q (不妨设 p 为素数)同时可有 min(p, q) ≤ p ≤ √n ,否则会有 p · q ≥ min(p, q)2 > n ,⽭盾故可知,任意合数都能被不⼤于 √n 的素数 p 标记其次,显然,该标记⽅法并不会错误地将素数标记成合数故该⽅法能且仅能标记所有 2~n 之间的合数,所以剩下未被标记的数就是素数(从 2 开始)3. 厄拉多塞筛法代码from math import sqrtdef sieve_of_eratosthenes(n: int):is_prime = [True for _ in range(n + 1)]for i in range(2, int(sqrt(n)) + 1):if is_prime[i]:for j in range(i * i, n + 1, i):is_prime[j] = False # 筛去j# 返回从2开始未被筛去的整数return [i for i in range(2, n + 1) if is_prime[i]]在筛去素数 p 倍数的过程中,我们是从 p 2 开始,⽽不是从 2·p 开始之前厄拉多塞筛法的原理中提到过,任意合数都能被不⼤于 √n 的素数标记。
c语言中寻找质数的逻辑质数,又称素数,是指大于1且只能被1和自身整除的数。
在计算机编程中,寻找质数是一个常见的问题。
本文将介绍使用C语言编写的寻找质数的逻辑。
我们需要明确寻找质数的范围。
假设我们要寻找小于等于N的所有质数,那么我们需要从2开始遍历到N,对每个数判断是否为质数。
接下来,我们需要定义一个函数来判断一个数是否为质数。
假设这个函数名为isPrime,它的参数是一个整数num,返回值是一个布尔类型的值。
isPrime函数的逻辑如下:1. 首先,我们需要处理一些特殊情况。
如果num小于2,那么它不是质数,我们可以直接返回false。
2. 然后,我们从2开始遍历到num的平方根,判断num是否能被这些数整除。
如果存在一个数能整除num,那么num不是质数,我们可以返回false。
3. 如果num不能被任何数整除,那么num是质数,我们可以返回true。
接下来,我们需要使用一个循环来遍历2到N的所有数,并调用isPrime函数来判断每个数是否为质数。
如果是质数,我们将其输出。
下面是使用C语言编写的寻找质数的逻辑的代码示例:```c#include <stdio.h>#include <stdbool.h>#include <math.h>bool isPrime(int num) {if (num < 2) {return false;}for (int i = 2; i <= sqrt(num); i++) {if (num % i == 0) {return false;}}return true;}int main() {int N;printf("请输入一个正整数N:");scanf("%d", &N);printf("小于等于%d的质数有:\n", N);for (int i = 2; i <= N; i++) {if (isPrime(i)) {printf("%d ", i);}}printf("\n");return 0;}```在上述代码中,我们使用了math.h头文件中的sqrt函数来计算数的平方根。
hdu 题目分类1001 整数求和 水题1002 C 语言实验题——两个数比较 水题1003 1、2、3、4、5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment 猜想 数论:容斥定理1007 童年生活二三事 递推题 1008 University 简单hash 1009 目标柏林 简单模拟题 1010 Rails 模拟题(堆栈) 1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY Huffman 编码1013 STAMPS 搜索or 动态规划 1014 Border 模拟题1015 Simple Arithmetics 高精度计算 1016 Shoot-out 博弈+状态压缩DP 1017 Tour Guide 1018 Card Trick 简单题1019 Necklace Decomposition 贪心1020 Crashing Robots 模拟题1021 Electrical Outlets 简单题 1022 Watchdog 简单题1023 Taxi Cab Scheme 图论:最小路径覆盖--->最大二分匹配1024 Pseudo-random Numbers 数论 1025 Card Game Cheater 简单题 1026 Investment 动态规划 1027 Pipes1028 SETI 数学:高斯消元法1029 Minimax Triangulation 计算几何 1030 Unequalled Consumption 母函数 1031 Declaration of Content 1032 Laserbox 搜索:DFS 1033 Bowlstack 1034 Pesky Heroes1035 Reduced ID Numbers 暴力 1036 Tantrix1037 Guardian of Decency 图论:匈牙利算法求二分图的最大匹配1038 Up the Stairs 简单数学题 1039 Sudoku 搜索:DFS 1040 The SetStack Computer 1041 Pie 二分法1042 Ticket to Ride 动态规划 1043 The Bookcase 动态规划 1044 Printer Queue 模拟题 1045 Prime Path 搜索:BFS1046 Lineland's Airport 1047 Leonardo's Notebook 数学题:群置换 1048 简易版最长序列 简单题 1049 Jesse's problem 搜索:DFS 1050 Error Correction 模拟题 1051 A × B problem 高精度计算 1052 Redraiment 的走法 动态规划 1053 Word Encoding 动态规划 1054 Jesse's Code 组合数学:排列 1055 简单密码破解 水题1056 英文金曲大赛 水题 1057 有假币 水题 1058 寄居蟹与海葵 水题1059 天仙配 水题1060 鹊桥相会 水题 1061 杨辉三角 水题 1062 蟠桃记 水题1063 养兔子 水题 1064 字符统计 水题 1065 完美数 水题 1066 亲和数 水题 1067 成绩评估 水题 1068 找零钱 水题 1069 漂亮菱形 水题 1070 Least Common Multiple 水题 1071 第几天 水题 1072 编辑距离 水题1073 支配值数目 水题 1074 等值数目 水题 1075 两数组最短距离 水题 1076 输入入门(1) 水题 1077 输入入门(2) 水题 1078 输入入门(3) 水题 1079 输出入门 水题1080 Counterfeit Dollar 组合数学 1081 Dividing 动态规划 1082 Sorting It All Out 图论:拓扑排序 1083 False coin 暴力法 1084 File Mapping 1085 Color Me Less 简单题1086 Round and Round We Go 简单题 1087 Microprocessor Simulation 简单题 1088 求奇数的乘积 水题 1089 平方和与立方和 水题1090 绝对值排序 水题 1091 JudgeOnline 水题 1092 More Beautiful 水题 1093 猴子分桃 水题 1094 C 语言实验题——一元二次方程 水题 1095 C 语言实验题——保留字母 水题 1096 C 语言实验题——排列 水题 1097 C 语言实验题——矩阵转置 水题 1098 C 语言实验题——素数 水题1099 Ambiguous permutations 简单题 1100 Home Work 贪心法1101 Redraiment 的遭遇 数学题:找规律 1102 Decorate the wall 搜索or 动态规划 1103 Economic phone calls 动态规划or 贪心 1104 Any fool can do it 记忆化搜索 1105 Wine trading in Gergovia 贪心法 1106 Homogeneous squares 随机算法 1107 Automatic Correction of Misspellings 字符串1108 Black and white painting 简单数学题 1109 Cylinder 计算几何:公式推导 1110 Deli Deli 水题1111 Expressions 数据结构:树的遍历 1112 Flavius Josephus Reloaded 数论:Pollard's R1113 Annoying painting tool 贪心法 1114 Frequent values RMQ 区间最值问题 OR 线段树1115 Anagram Groups 字符串匹配 1116 Let it Bead 组合数学->Polya 定理 1117 Simple Computers 简单题 1118 Mondriaan's Dream 动态规划 1119 Equidistance 计算几何 1120 How many Fibs? 高精度计算 1121 Hike on a Graph 搜索:BFS 1122 ASCII Art 1123 Billing Tables1124 Cellular Automaton 矩阵计算1125 Exchange 1126 Fool's Game 1127 Java vs C++ 字符串处理 1128 Kickdown 字符串处理 1129 Copying Books 贪心+二分法1130 Adding Reversed Numbers 简单题 1131 Glass Beads 字符串的最小表示 1132 The Circumference of the Circle 计算几何题 1133 Knight Moves 搜索:BFS 1134 Eeny Meeny Moo 变形的约瑟夫问题 1135 Lotto 组合数学1136 Humble Numbers 动态规划 1137 Average is not Fast Enough! 简单题 1138 Etaoin Shrdlu 简单题 1139 Hard to Believe, but True! 简单题 1140 Code the Tree 简单题 1141 Fiber Network 图论:全源最短路径,Floyd-Warshall 算法 1142 Global Roaming 3D 几何题 1143 All in All 字符串处理1144 The Sierpinski Fractal 递归 1145 Assistance Required 简单题:预处理 1146 Drink, on Ice 模拟题 1147 All Discs Considered 搜索:BFS 1148 In Danger 模拟题 1149 Run Length Encoding 字符串处理 1150 Bee Maja 模拟题 1151 Friends 表达式求值 1152 John 博弈论 1153 Double Queue 最大堆与最小堆 1154 ‘JBC’1155 Loan Scheduling 贪心+堆 1156 Showstopper 1157 Highway 贪心法 1158 Computers 动态规划 1159 The Stable Marriage Problem 组合数学 1160 Arne Saknussemm 模拟题 1161 Sum Problem 水题 1162 Fire Net 搜索题 1163 统计1到N 之间数字1的个数 推理题 1164 最大公因子 水题1165 C 语言实验题——三个整数 水题 1166 C 语言实验题——大小写转换 水题 1167 C 语言实验题——分数序列 水题 1168 C 语言实验题——最值 水题 1169 C 语言实验题——保留整数 水题 1170 C 语言实验题——矩阵下三角元素之和 水题 1171 C 语言实验题——字符逆序 水题 1172 C 语言实验题——打印菱形 水题 1173 C 语言实验题——分割整数 水题 1174 C 语言实验题——删除指定字符 水题 1175 C 语言实验题——时间间隔 水题 1176 C 语言实验题——数组逆序 水题 1177 C 语言实验题——打印数字图形 水题 1178 C 语言实验题——单词统计 水题 1179 C 语言实验题——最小公倍数和最大公约数 水题 1180 Crashing Balloon 搜索题1181 念数字 模拟题1182 A+B for Input-Output Practice(1) 水题 1183 Anagrams by Stack 搜索:回溯 1184 Elevator 数学:找规律1185 Substrings 字符串处理1186 Calling Extraterrestrial Intelligence Again 搜索:枚举法 1187 Do the Untwist 简单数学题 1188 数字对 水题 1189 A+B for Input-Output Practice (2) 水题 1190 火星A+B 简单题1191 三齿轮问题:三个齿轮啮合 简单数学题 1192 A + B Problem II 高精度计算 1193 The ones to remain 数学题 1194 Chinese Chess 博弈论1195 Page Replacement 数据结构:队列or hash 1196 RSA Signing 数论:Pollard's Rho 算法 1197 Number Guessing 搜索:穷举 1198 求n 的阶乘 高精度计算 1199 Area 计算几何 1200 求两直线的夹角 水题 1201 三角形面积 水题 1202 Max Sum 动态规划 1203 Number Sequence 大数问题1204 u Calculate e 水题 1205 斐波那契数列 高精度计算 1206 Fibonacci Again 大数问题 1207 Let the Balloon Rise 字符串处理 1208 还是A+B 水题1209 A + B 水题1210 The area 简单计算几何1211 Ignatius's puzzle 简单数学问题 1212 Computer Transformation 高精度计算 1213 N! 高精度计算 1217 Text Reverse 水题 1220 填数字游戏 搜索:DFS1221 Tempter of the Bone 搜索:DFS or BFS+剪枝 1226 Last non-zero Digit in N! 数论 1227 三角形 递推求解 1228 回文数猜想 简单题 1229 Factorial 简单题 1230 Specialized Four-Digit Numbers 简单数学题 1231 Lowest Bit 简单题1232 To and Fro 简单题 1233 AC Me 简单题1234 Wolf and Rabbit 数论1235 最大连续子序列 动态规划 1236 开门人和关门人 字符串处理 1237 排名 排序1238 统计难题 字符串处理:字典树1239 Tick and Tick 数学题 1240 Quoit Design 分治法1241 钱币兑换问题 递推求解 1242 求出前m 大的数 简单题 1243 角谷猜想 简单题1244 Reverse Number 简单题1245 寻找素数对 简单题 1246 ZJUTACM 简单题1247 Hat's Fibonacci 高精度计算1248 Encoding 简单题 1249 四数相加 高精度计算 1250 两数相减 高精度计算1251 Square Coins 母函数 1252 Counting Triangles 递推求解 1253 2^x mod n = 1 数论:费尔马小定理 1254 Minimum Inversion Number 简单题 1255 Surround the Trees 计算几何:凸包 1256 Number Steps 简单题 1257 Binary Numbers 简单题 1258 Knight Moves 搜索:BFS 1259 Lotto 组合数学 1260 A Simple Task 简单题 1261 The Drunk Jailer 数论1262 Hanoi Tower Troubles Again! 递推求解 1263 IBM Minus One 水题1264 Definite Values 简单题 1265 Box of Bricks 水题 1266 Perfection 简单题 1267 Reverse Text 水题 1268 Inversion 模拟题1269 Prime Cuts 简单题1270 How Many Fibs? 高精度计算1271 Round and Round We Go 简单题 1272 Red and Black 搜索:DFS 1273 What Day Is It? 简单题1274 String Matching 字符串匹配 1275 A Contesting Decision 简单题 1276 Doubles 简单题 1277 The Snail 简单题1278 Jungle Roads 图论:最小生成树 1279 Prime Ring Problem 搜索:DFS 1280 Big Number 大数问题 1281 Least Common Multiple 简单题 1283 简单排序 水题 1284 Gridland 简单题 1285 An Easy Task 简单题 1286 Calendar Game 模拟题1287 Human Gene Functions 动态规划 1288 计算几何练习题——线段相交 计算几何 1289 计算几何练习题——线段相交II 计算几何 1290 计算几何练习题——直线交点 计算几何 1291 Trees Made to Order 递归求解 1292 排序 简单题 1293 18岁生日 简单题 1294 吃糖果 递推求解 1295 变种汉诺塔 递推求解 1296 洗牌 递推求解 1297 大数求余 数论 1298 圆桌会议 递推求解 1299 畅通工程 并查集 1300 还是畅通工程 最小生成树 1301 统计同成绩学生人数 水题1302 简单计算器 表达式求值:栈的应用 1303 改进版计算器 表达式求值:栈的应用 1304 FatMouse' Trade 贪心法 1305 Digital Roots 大数问题 1306 Uniform Generator 数论 1307 A Mathematical Curiosity 穷举法 1308 Safecracker 穷举法 1309 The 3n + 1 problem 简单题 1310 分享糖果 模拟题 1311 宝物收集 搜索:BFS 1312 Climbing Worm 简单题 1313 搬桌子 贪心法1314 Humble Numbers 动态规划 1315 Dividing 动态规划1316 Rightmost Digit 数学问题 1317 Leftmost Digit 数学问题 1318 Hangover 简单数学问题1319 Exponentiation 高精度计算 1320 I Think I Need a Houseboat 简单题 1321 Girls and Boys DFS+二分图 1322 Monkey and Banana 动态规划 1323 买牛奶 简单题 1324 Matrix Chain Multiplication 数据结构:栈的应用 1325 计算成绩 简单题1326 Holding Bin-Laden Captive! 母函数 1327 You can Solve a Geometry Problem too 计算几何 1328 Super Jumping! Jumping! Jumping! 动态规划 1329 a^b 数论 1330 计算GPA 水题1331 Give me an offer! 动态规划:0-1背包 1332 田忌赛马 贪心法 1333 Asteroids! 搜索:BFS 1334 Oil Deposits 搜索:DFS 1335 营救天使 搜索:BFS 1336 小数化分数 高精度计算 1337 I Hate It 线段树 1338 Strange Billboard 位运算+枚举 1339 Frobenius 递推求解 1340 奇怪的公式 数学题 1341 Fibonacci again and again 博弈论 1342 A New Tetris Game 博弈论 1343 Sum It Up 搜索:DFS 1344 速算24点 搜索 1345 推箱子 搜索:BFS1346 Pushing Boxes 搜索:BFS 1347 The Worm Turns 搜索 1348 Alfredo's Pizza Restaurant 简单题 1349 Broken Keyboard 字符串处理 1350 Convert Kilometers to Miles 简单题 1351 单词数 水题1352 仙人球的残影 简单题 1353 Family planning 简单题1354 Rout 66 简单题 1355 LC-Display 模拟题 1356 A == B ? 高精度计算 1357 不容易系列之一 递推求解 1358 折线分割平面 递推求解1359 find the nth digit 二分查找 1360 奇数阶魔方(II) 简单题 1361 Keep on Truckin' 简单题 1362 Factstone Benchmark 简单题1363 Destroy the Well of Life 模拟题 1365 Brave Game 博弈论 1366 ASCII 码排序 水题 1367 计算两点间的距离 水题1368 计算球体积 水题 1369 求绝对值 水题 1370 数值统计 水题1371 求数列的和 水题1372 水仙花数 水题 1373 多项式求和 水题 1374 素数判定 水题 1375 偶数求和 水题 1376 母牛的故事 水题 1377 数列有序! 水题 1378 发工资咯:) 水题 1379 C 语言合法标识符 水题 1380 海选女主角 水题 1381 查找最大元素 水题 1382 首字母变大写 水题1383 统计元音 水题1384 Palindromes _easy version 水题 1385 汉字统计 水题 1386 进制转换 水题1387 人见人爱A+B 水题 1388 人见人爱A-B 水题 1389 人见人爱A^B 水题 1390 改革春风吹满地 计算几何 1391 今年暑假不AC 动态规划 1392 三角形 水题1393 求平均成绩 水题1394 不容易系列之二 递推求解 1395 密码 水题1396 一只小蜜蜂... 递推求解 1397 不容易系列之(3)—— LELE 的RPG 难题 递推求解1398 骨牌铺方格 递推求解 1399 阿牛的EOF 牛肉串 递推求解 1400 神、上帝以及老天爷 递推求解 1401 不容易系列之(4)——考新郎 递推求解 1402 Bitset 简单题 1403 Picture 简单模拟题1404 Switch Game 找规律1405 An easy problem 简单模拟题 1406 A + B Again 简单题 1407 The sum problem 简单数学题 1408 龟兔赛跑 动态规划 1409 Snooker 简单数学题 1410 Subset sequence 简单题 1411 汉诺塔III 递推求解 1412 "红色病毒"问题 递推求解 1413 小兔的棋盘 递推求解 1414 RPG 的错排 错排+排列组合 1415 无限的路 简单题 1416 夹角有多大 数学题 1417 汉诺塔IV 递推求解 1418 复习时间 简单题 1419 选课时间 暴力求解 1420 手机短号 字符串处理 1421 找单词 母函数1422 简易版之最短距离 数学题 1423 数塔 动态规划 1424 核反应堆 简单题 1425 A1 = ? 公式推导 1426 剪花布条 字符串处理 1427 不要62 数学题 1428 空心三角形 字符串处理 1429 小明A+B 简单题 1430 Sky 数 进制转换 1431 整除的尾数 简单题 1432 分拆素数和 数论 1433 正整数解 数学题 1434 挂盐水 模拟题 1435 {A} + {B} 简单题 1436 小数A+B 高精度计算 1437 Zigzag 简单题 1438 螺旋形 简单题 1439 行李寄存 简单题 1440 判断多边形凹凸 计算几何 1441 The centre of polygon 计算几何 1442 最小正整数 简单题 1443 Elevator Stopping Plan 二分+贪心法 1444 TOYS 计算几何 1445 The Doors 计算几何 1446 Polygon And Segment 计算几何 1447 Fence 计算几何 1448 两圆相交面积 计算几何1449 Area of Circles 计算几何 1450 Pipe 计算几何1451 zero sum 搜索:DFS1452 C 语言实验题——Hello World 水题 1453 C 语言实验题——数日子 水题 1454 C 语言实验题——三个数排序 水题 1455 C 语言实验题——数字串求和 水题 1456 C 语言实验题——拍皮球 水题 1457 C 语言实验题——求一个3*3矩阵对角线元素之和 水题1458 C 语言实验题——数组逆序 水题 1459 C 实验题——求最大值 水题 1460 C 实验题——求绝对值最大值 水题 1461 C 语言实验题——求平均值 水题 1462 C 语言实验题——打印直角三角形 水题 1463 C 语言实验题——相加和最大值 水题 1464 C 语言实验题——简单编码 水题 1465 C 语言实验题——某年某月的天数 水题 1466 C 语言实验题——各位数字之和排序 水题 1467 C 语言实验题——两个数最大 水题 1468 C 语言实验题——求级数值 水题 1469 Pipe II 计算几何 1470 Transmitters 计算几何 1471 Wall 计算几何1472 C 语言实验题——逆置正整数 水题 1473 C 语言实验题——找中间数 水题 1474 C 语言实验题——整数位 水题 1475 C 语言实验题——一元二次方程 II 水题 1476 C 语言实验题——圆周率 水题 1477 C 语言实验题——余弦 水题 1478 C 语言实验题——打印金字塔 水题 1479 C 语言实验题——排序 水题 1480 C 语言实验题——约瑟夫问题 水题 1481 C 语言实验题——鞍点 水题 1482 C 语言实验题——计算表达式 水题 1483 C 语言实验题——汉诺塔 水题 1484 C 语言实验题——字符串排序 水题 1485 C 语言实验题——整除 水题 1486 Solitaire 搜索:(双向)BFS 1487 Abbreviation 水题1488 C 语言实验题——买糖果 水题 1489 C 语言实验题——字符编码 水题 1490 C 语言实验题——合法的C 标识符 水题 1491 C 语言实验题——三角形面积 水题 1492 C 语言实验题——大小写转换 水题 1493 C 语言实验题——圆柱体计算 水题 1494 C 语言实验题——温度转换 水题 1495 C 语言实验题——统计字串 水题1496 C 语言实验题——字符过滤 水题 1497 Coin Change 暴力求解 1498 Beautiful Meadow 搜索题 1499 C 语言实验题——鸡兔同笼 水题 1500 Coins of Luck 数学题:数学期望 1501 Friends 搜索:DFS 1502 Find All M^N Please 数学题 1503 Incredible Cows 搜索:二分+DFS 1504 计算直线的交点数 递推求解 1505 Number Game 动态规划 1506 Sort ZOJ7 字符串处理 1507 Find 7 Faster Than John Von Neumann 高精度计1508 免费馅饼 动态规划 1509 Worm 动态规划1510 Common Subsequence 动态规划 1511 搬寝室 动态规划 1512 Daydream 字符串处理 1513 Ballroom Lights 1514 Drop the Triples 1515 Finding Seats1516 He is offside! 1517 Justice League 1518 星星点点 搜索1519 逆波兰表达式 表达式求解:栈的应用 1520 十六进制 高精度计算 1521 Palindromic sequence 1522 Hotel 模拟题1523 Intersecting Lines 计算几何 1524 Heap Construction 最短路径 1525 Pizza Anyone? 1526 Adam's Genes 1527 Risk1528 Just the Facts 数论 1529 Horse Shoe Scoring 计算几何 1530 哥德巴赫猜想 数论1531 爱的伟大意义 简单题1532 校门外的树 模拟题 1533 最多约数问题 数论 1534 Quicksum 数学题1535 找规律填数字 数学题1536 Accepted Necklace 搜索:DFS1537 除法表达式 数论 1538 A Walk Through the Forest 图论:最短路径 1539 Accurately Say "CocaCola"! 简单题 1540 Build The Electric System 图论:最小生成树 1541 Colorful Rainbows 计算几何 1542 Easy Task 数学题1543 Faster, Higher, Stronger 简单题 1544 Give Me the Number 模拟题 1545 Hurdles of 110m 动态规划 1546 Just Pour the Water 矩阵计算 1547 Kinds of Fuwas 穷举法 1548 复数运算 简单题 1549 元素个数排序 简单题 1550 Fiber Communications 1551 Power Hungry Cows 搜索:BFS 1552 Cow Cycling 动态规划 1553 Rebuilding Roads 树型DP 1554 Triangular Pastures 动态规划 1555 Chores 动态规划 1556 Extra Krunch1557 BUY LOW, BUY LOWER 动态规划 1558 Hypnotic Milk Improvement 1559 Happy Cows1560 Unary Cow Counting 1561 Dairy Route 1562 Calf Numbers 1563 Hide and Seek 1564 Mountain Majesties 1565 Secret Milk Pipes 1566 Circus Tickets 1567 Life Cycle 1568 Wiggle Numbers 1569 Superwords 1570 Cow Brainiacs 1571 Pasture Fences 1572 New Years Party 1573 Strolling Cows 1574 Grazing Sets 1575 Factorial Power 1576 Friday the Thirteenth 1577 Beef McNuggets 1578 Calf Flac 1579 Light Bulbs 1580 Cow Math 图论1581 Cow Imposters 动态规划 1582 Traffic Lights 递推求解 1583 Farm Tour 图论:最短路径 1584 Vertical Histogram 简单题 1585 Cowties 动态规划 1586 Travel Games 搜索:DFS1587 Best Cow Fences 二分法 1588 Cornfields RMQ 问题 1589 Six Degrees of Cowvin Bacon 简单题 1590 Herd Sums 简单题1591 Message Decoding 简单题1592 Mountain Walking 二分+flood fill 1593 Millenium Leapcow 动态规划 1594 Optimal Milking 最大流+二分法1595 Bale Figures 模拟+二分法1596 Jumping Cows 动态规划 1597 Lost Cows SBT 树1598 Bovine Math Geniuses 简单题 1599 Dividing the Path 动态规划 1600 Fence Obstacle Course 动态规划 1601 Cow Ski Area 图论:flood fill 1602 Cleaning Shifts 贪心法 1603 Bad Cowtractors 最大生成树 1604 Tree Cutting 树状动态规划 1605 Navigation Nightmare 并查集 1606 Cow Marathon 树状动态规划 1607 Distance Queries LCA ,tarjan 算法 1608 Distance Statistics 楼天成大牛“男人八题”中的一道 1609 Moo University - Team Tryouts 排序+穷举法 1610 Moo University - Emergency Pizza Order 1611 Moo University - Financial Aid 最大堆、最小堆 1612 Cube Stacking 并查集 1613 The Cow Lineup 穷举法 1614 MooFest 线段树1615 Turning in Homework 动态规划 1616 Alignment of the Planets 1617 Finding Bovine Roots 1618 Cow Bowling1619 Cow Patterns 字符串匹配的扩展 1620 Barn Expansion 二分查找 1621 Layout 差分约束系统 1622 Knights of Ni 搜索:BFS 1623 Cleaning Shifts DP +Heap 1624 Scales 搜索+剪枝1625 Secret Milking Machine 二分+网络流 1626 Aggressive cows 二分法1627 Rigging the Bovine Election 穷举法 1628 Feed Accounting 简单模拟题1629 Muddy Fields 穷举法1630 The Wedding Juicer 堆+flood fill 1631 Naptime 动态规划 1632 Sumsets 动态规划1633 Moo Volume 简单题1634 Ombrophobic Bovines Floyd-Warshall 1635 Space Elevator 动态规划1636 Yogurt factory 动态规划 1637 Checking an Alibi 最短路径 1638 Out of Hay 1639 Satellite Photographs 搜索:BFS or DFS 1640 Asteroids 最大网络流 1641 Grazing on the Run 动态规划1642 Walk the Talk 动态规划1643 City Skyline 栈的应用 1644 Cow Acrobats 贪心法1645 Ant Counting 动态规划 1646 Hopscotch 搜索:DFS1647 Securing the Barn 穷举法 1648 Bovine Birthday 递推求解 1649 Max Factor 简单题 1650 Flying Right 1651 Close Encounter 1652 Allowance 1653 Lazy Cows 1654 Expedition 1655 Around the world 1656 Landscaping 1657 Waves1658 Navigating the City1659 Disease Management 1660 Muddy roads 1661 Wormholes 最短路径 1662 The Fewest Coins 动态规划 1663 Milk Patterns 二分法or 后缀树1664 Cow Picnic 搜索:BFS or DFS 1665 Cow Roller Coaster 动态规划 1666 River Hopscotch 二分法+贪心 1667 The Moronic Cowmpouter 进制转换 1668 DNA Assembly 穷举法1669 Cow Phrasebook 二分法 1670 Cellphones 穷举法1671 Steady Cow Assignment 网络流 1672 Treats for the Cows 动态规划 1673 Backward Digit Sums 穷举法 1674 Stump Removal 简单题 1675 Finicky Grazers 动态规划 1676 The Water Bowls 枚举二进制位 1677 Redundant Paths 图论 1678 Roping the Field 动态规划 1679 Corral the Cows 二分法 1680 The Cow Prom 图论 1681 Dollar Dayz 动态规划 1682 The Grove 最短路径 1683 Fence Repair Huffman 编码 1684 Corn Fields 状态压缩DP 1685 Roadblocks 图论:最短路径 1686 Bad Hair Day 搜索 1687 Big Square 穷举法 1688 Round Numbers 枚举二进制位 1689 Building A New Barn 1690 Cow Sorting 置换群 1691 Lilypad Pond 最短路径 1692 The Cow Lexicon 动态规划 1693 Silver Cow Party 最短路径 1694 Problem Solving 动态规划 1695 Cow School1696 Protecting the Flowers 贪心法 1697 Tallest Cow 区间统计 1698 Balanced Lineup RMQ 问题1699 Gold Balanced Lineup RMQ 问题 1700 Ranking the Cows 搜索:DFS 1701 Face The Right Way 穷举法 1702 Cow Traffic 动态规划 1703 Monthly Expense 贪心法 1704 Cheapest Palindrome 动态规划 1705 Dining 贪心+网络流 1706 City Horizon 离散化+ 扫描 1707 Catch That Cow 最短路径 1708 Fliptile 枚举+位压缩 1709 2-Dimensional Rubik's Cube 搜索:BFS 1710 Ball 计算几何1711 3D Camera 三维计算几何 1712 Cipher 模拟题1713 Five in a Row 简单题 1714 Pinhole Imaging 简单计算几何1715 URL 模拟题 1716 Battle of Submarines 集合DP 1717 WOJ 动态规划 1718 钥匙计数之二 递推求解 1719 BrokenLED 模拟题 1722 A+B again and again! 模拟题 1723 Just calculate it! 数论 1724 Guess how much I love you? 简单题 1725 NBA Finals 1726 Find Out an “E” 1727 Judging ACM/ICPC 1728 Cryptography of Alex 1729 Rings of square grid 1730 Fermat's Theorem 1731 Cup 二分法1732 Find the Path DP+二分法1733 Five in a Row, Again 动态规划 1734 Minimum Heap 递推求解1735 Name PK 模拟题 1736 Pendant 动态规划 1737 Radar 计算几何+搜索 1738 Ring 多串模式匹配 1739 Run 计算几何1740 Toxophily 简单题 1741 通讯录编排 简单题 1742 超缘分ACM 队伍 简单题1743 集合运算 简单题 1744 矩阵计算 简单题1745 Arbitrage 动态规划1746 The Tower of Babylon 动态规划 1747 Binomial Showdown 组合数学 1748 Dungeon Master 搜索:BFS1749 Equation Solver 表达式求值应用 1750 Frogger 最短路径 1751 Globetrotter 计算几何1752 Tree Recovery 数据结构:二叉树 1753 Artificial Intelligence? 1754 The Settlers of Catan 搜索 1755 France '98 概率问题1756 Goldbach's Conjecture 数论 1757 Heavy Cargo 最小生成树 1758 Quadtree1759 From Dusk till Dawn or: Vladimir the Vampir1760 Euro Cup 2000 1761 Quadtree II or: Florida Jones strikes back 1762 HTML 简单题1763 Paths on a Grid 组合数学:T 路问题 1764 Balanced Food 动态规划1765 California Jones and the Gate to Freedom 组1766 Diplomatic License 简单计算几何题 1767 Polygon Programming with Ease 数学题 1768 Hall of Fountains 搜索:BFS or DP1769 The Bottom of a Graph 图论:强连通分量 1770 Edge 1771 Fold1772 Largest Rectangle in a Histogram 动态规划 1773 Boolean Logic 1774 Code1775 In Danger 模拟题 1776 Fractran1777 Huffman's Greed 1778 Bullshit Bingo 字符串处理 1779 A Song contest 1780 Message1781 The skatepark's new ramps 1782 Road 1783 Warfare 1784 Blackjack 1785 Robintron1786 Diamond Dealer 计算几何:凸包 1787 Best Compression Ever 1788 Code Theft 1789 Dinner1790 Event Planning 1791 Getting Gold 1792 Introspective Caching1793 Just A Few More Triangles! 1794 Knights of the Round Table 图论:无向图的块1795 The Cow Doctor 穷举法1796 Wild West 线段树1797 Find the Clones 1798 The Warehouse1799 Widget Factory 数论:同余方程组1800 Martian Mining 动态规划 3301 字符串;AC 自动机, 动态规划;状态压缩3302 计算几何 3303 数学;代数运算;高斯消元 3304 图论;强连通分量;2-SAT 3305 动态规划;凸单调性优化 3306 枚举 3307 贪心3308 数学;代数运算 3309 最短路;佛洛伊德 3310 动态规划 3311 贪心3312 计数问题;递推,数状数组,二分查找 3313 数论;欧拉定理,快速幂取模 3314 计数问题,数状数组3315 博弈;Surreal 数;Farey 数列; 3316 计数问题;递推,高精度 3317 计数问题;容斥原理 3318 递推;矩阵乘法 3319 数学;概率 3320 背包 3321 动态规划3322 字符串;AC 自动机 3323 动态规划 3324 博弈 3325 搜索 3326 贪心 3327 最短路3328 数据结构(实现一种数据结构,支持要求的操作),数状数组 3329 图论;二分图最大权匹配 3330 数学;数论 3331 递推;矩阵乘法 3332 数学;数论,二分查找 3333 计算几何 3334 动态规划3335 字符串,后缀数组或拉宾卡普;动态规划 3336 数据结构;并查集 3337 计数问题,递推 3338 二分查找,贪心 3339 数学 3340 计算几何;凸包,图论;佛洛伊德;最小环 3341 动态规划 3342 广搜 3343 动态规划 3344 计算几何 3345 二分图最大匹配3346 树型DP 3347 动态规划 3348 数学;数论;进制 3349 计数问题 3350 贪心3351 数学;数论;进制 3352 动态规划,数论,组合数学 3353 数学;数论 3354 计数;递推 3355 图论;佛洛伊德3356 博弈 3357 动态规划 3358 数据结构;线段树,数状数组3359 计算几何,动态规划 3360 博弈;SG 函数 3361 图论;最近公共祖先 3362 图论;强连通分量;2-SAT 3363 计算几何3364 字符串;AC 自动机,动态规划 3365 搜索,舞蹈链 3366 数学;数论3367 数学;代数运算;高斯消元 3368 动态规划 3369 计数问题;递推 3370 网络流(错题) 3371 树型DP3372 数学;高精度 3373 数学; 3374 RMQ 3376 数学;进制 3377 字符串;后缀数组 3378 动态规划 3379 计算几何 3380 线段树3381 图论;欧拉路 3382 简单题3383 字符串;AC 自动机 3384 广搜 3385 计算几何,矩阵3386 语言处理3387 动态规划;状态压缩 3388 图论;全局最小割 3389 简单题 3390 广搜3391 数学;Pell 方程 3392 背包 3393 计算几何 3394 广搜3395 搜索;迭代加深 3396 数学;计数问题 3397 数学;解方程3398 分析 3399 模拟3400 数学;计数问题,数论。
HDOJ题目分类模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201 1202 1205 1209 1212(大数取模) 1216(链表)1218 1219 1225 1228 1229 1230 1234 1235 1236 1237 1239 12501256 1259 1262 1263 1265 1266 1276 1279 1282 1283 1287 1296 1302 1303 1304 1305 1306 1309 1311 1314复杂模拟搜索,递归求解1010 1016 1026 1043(双广) 1044 (BFS+DFS) 1045 1067 1072 1104 1175 1180 1195 1208 1226 1238 1240 1241 1242 1258 1271 1312 1317博奕1079动态规划1003 1024 1025 1028 1051 1058 1059 1069 1074 1078 1080 1081 1085 1087 1114 1158 1159 1160 1171 1176 1181 1203 1224 1227 1231 1244 1248 1253 1254 1283 1300数学,递推,规律1005 1006 1012 1014 1018 1019 1021 1023 1027 1030 1032 1038 1041 1046 1059 1060 1061 1065 1066 1071(微积分) 1097 1098 1099 1100 1108 1110 1112 1124 1130 1131 1132 1134 1141 1143 1152 1155(物理题) 1163 1165 1178 1194 1196(lowbit) 1210 1214 1200 1221 1223 1249 1261 1267 1273 1290 1291 1292 1294 1297 1313 1316数论1164 1211 1215 1222 1286 1299计算几何1086 1115 1147贪心1009 1052 1055 1257并查集1198 1213 1232 1272线段树,离散化1199 1255图论最短路相关的问题1142 1162 1217 1301二分图问题1054 1068 1150 1151 1281其他1053 (huffman) 1102(MST) 1116(欧拉回路)1233(MST) 1269(强连通)1103(堆+模拟)1166(数状树组)1247 1251 1285(Topol)1298 汉诺塔系列1207最近顶点对10071500 DP1501 DP1502 DP or 记忆化1503 DP1504 模拟1505 DP1506 DP1507 2分匹配1508 记忆化容易点1509 模拟1510 DP1511 搜索可以过1512 左偏树1513 DP1514 DP1515 DFS1516 DP1517 博奕1518 搜索1519 DP(不确定)1520 树状DP1521 数学题,母函数什么的。
欧拉筛选素数法c++全文共四篇示例,供读者参考第一篇示例:欧拉筛选素数法是一种高效的算法,用于在一定范围内快速筛选出所有的素数。
它是由瑞士数学家欧拉所提出的,因此得名欧拉筛选素数法。
在本篇文章中,我们将介绍欧拉筛选素数法的原理和实现方法,并附上一个简单的C++代码示例。
欧拉筛选素数法的原理是利用筛法的思想,从2开始不断地筛选掉合数,最终剩下的就是素数。
相比传统的试除法,欧拉筛选素数法在复杂度上有着明显的优势,可以更快地找到素数。
下面是欧拉筛选素数法的具体步骤:1. 初始化一个bool类型的数组prime[],全部初始化为true。
2. 从2开始遍历到n,如果prime[i]为true,则将i的所有倍数i*j (其中j>=2)标记为false。
3. 遍历完毕后,prime[i]为true的i就是素数。
接下来,我们将通过一个简单的C++代码示例来演示欧拉筛选素数法的实现:```cpp#include <iostream>#include <vector>using namespace std;void eulerSieve(int n) {vector<bool> prime(n+1, true);for(int i=2; i<=n; i++) {if(prime[i]) {cout << i << " ";for(int j=2; i*j<=n; j++) {prime[i*j] = false;}}}}欧拉筛选素数法的时间复杂度为O(nloglogn),具有很高的效率。
在需要求解一定范围内的素数时,欧拉筛选素数法是一个很好的选择。
欧拉筛选素数法是一种简单而高效的算法,可以在较短的时间内找到指定范围内的素数。
通过本文的介绍和示例代码,相信读者对欧拉筛选素数法有了更深入的了解,并可以在实际应用中灵活运用。
编程验证哥德巴赫猜想即任何不小于6的偶数都能分解为两个素数之和要求编写自定哥德巴赫猜想是一个非常著名的数论问题,被证明是真实的,即任何不小于6的偶数都能够被分解为两个素数之和。
下面将介绍一种编程验证哥德巴赫猜想的方法。
首先,我们需要了解什么是素数。
素数是只能被1和自身整除的正整数,比如2,3,5,7,11等。
哥德巴赫猜想可以被表述为:对于任意一个不小于6的偶数n,总存在两个素数p和q,使得p+q=n。
为了验证哥德巴赫猜想,我们可以通过遍历所有可能的素数对,看是否存在满足条件的素数对。
首先,我们需要编写一个函数`is_prime`,用于判断一个给定的数是否为素数。
```pythondef is_prime(num):if num < 2:return Falsefor i in range(2, int(num ** 0.5) + 1):if num % i == 0:return Falsereturn True```接下来,我们可以编写一个函数`verify_goldbach`,用于验证哥德巴赫猜想。
该函数接受一个偶数作为参数,并返回满足条件的素数对。
```pythondef verify_goldbach(num):if num < 6 or num % 2 != 0:return Noneprimes = []for i in range(2, num):if is_prime(i):primes.append(i)for prime in primes:return None```在函数中,我们首先判断给定的数是否小于6或者是否为奇数,如果是的话返回`None`。
接着,我们遍历从2到给定数之间的所有正整数,判断其是否为素数,并将素数存储在列表`primes`中。
然后,我们遍历素数列表,并计算相应的补数,如果补数也是素数,则返回这对素数。
如果不存在满足条件的素数对,返回`None`。
寻找素数的算法
素数,指的是只能被1和它本身整除的自然数,例如2、3、5、7等。
寻找素数的算法是数学中非常经典的问题,有多种不同的解法,本篇
文章将介绍其中比较常见的三种算法。
1.试除法
试除法是最常见、最简单的寻找素数的算法。
具体来说,我们需要遍
历从2到这个数的平方根之间所有的数,判断这个数是否能被其中的
这些数整除即可。
若都不能被整除,则该数为素数。
例如,判断5是否为素数的时候,我们需要遍历2,3两个数,判断5是否能被它们整除。
由于5不能被2或3整除,所以5是素数。
2.埃拉托色尼筛法
埃氏筛法本质是筛选法,它先将要寻找素数的范围内的所有数筛选一遍,把所有的合数删除,剩下的即为素数。
具体来说,我们首先把2到N之间的所有整数都列出来。
我们选择最小的数2,把2的倍数全都标记为合数,即划去。
接着我们再选取此
时列表中未被划去的最小的数3,把3的倍数全都标记为合数…… 以此类推,直到小于或等于N的所有的素数全部找出。
3.米勒-拉宾素性检验
米勒-拉宾素性检验是一种在大数素数判定中广泛应用的算法。
这个算法判断一个数是否为素数的概率非常高,因此在实际应用中也广泛使用。
具体来说,该算法基于费马小定理,判断一个数n是否为素数的方法是:先在有限个数的基础上进行检查,如果这些检查都通过,那么n 很有可能是一个素数。
在实际运用中,通常选取不同的n个底数进行检查。
综上所述,试除法和埃拉托色尼筛法适用于小规模的素数判断,米勒-拉宾素性检验适用于大规模的素数判断。
具体应用时,要根据不同的问题具体选择合适的算法。
c语言求素数个数方法超时摘要:1.素数和c 语言简介2.求素数个数的方法3.c 语言求素数个数方法超时的原因4.解决c 语言求素数个数方法超时的方法5.总结正文:1.素数和c 语言简介素数是指只能被1 和自身整除的正整数,它是数学中的一个重要概念。
在计算机科学中,c 语言是一种广泛应用的编程语言,其功能强大,可以实现各种算法和数据结构。
2.求素数个数的方法求素数个数的方法有很多,其中较为常见的方法是埃拉托斯特尼筛法(Sieve of Eratosthenes)和试除法。
这里我们以埃拉托斯特尼筛法为例进行介绍。
该算法的基本思想是:首先创建一个包含2 到n 的所有整数的数组,然后将数组中的所有元素设置为真(代表质数),接着从2 开始遍历到n,如果当前数字为质数,则将它的所有倍数的元素标记为非质数。
最后,数组中标记为真的元素个数即为n 以内的素数个数。
3.c 语言求素数个数方法超时的原因在实际编程过程中,有时候使用c 语言实现埃拉托斯特尼筛法时会出现超时现象。
这主要是因为该算法在遍历数组时,需要频繁地进行数组元素的标记操作,这会导致时间复杂度较高,特别是在n 较大时,计算时间会显著增加。
4.解决c 语言求素数个数方法超时的方法为了解决c 语言求素数个数方法超时的问题,我们可以从以下几个方面进行优化:(1)使用更高效的算法。
例如线性筛法(Linear Sieve)和欧拉筛法(Euler Sieve),它们在时间复杂度上比埃拉托斯特尼筛法更优秀。
(2)减少计算范围。
在实际应用中,我们往往只需要求一定范围内的素数个数,因此可以适当减小计算范围,从而减少计算量。
(3)使用并行计算。
利用多核处理器的优势,将算法分解为多个子任务并行执行,可以显著提高计算速度。
5.总结总之,虽然c 语言求素数个数方法可能会出现超时现象,但通过选择更高效的算法、减少计算范围和使用并行计算等方法,我们可以有效地解决这一问题。
相邻素数间距取遍2D简介在数学中,素数是指只能被1和自身整除的正整数。
相邻素数是指两个素数之间的差值为1的素数对。
素数间距则是指相邻素数之间的差值。
相邻素数间距取遍2D是一个有趣的数学问题。
它要求我们在一个二维平面中,以素数作为坐标的横纵轴,将相邻素数间距作为平面上的点的属性,然后遍历整个平面,找出所有可能的素数间距。
本文将详细介绍相邻素数间距取遍2D的原理、方法和应用,以及相关的数学定理和算法。
原理为了理解相邻素数间距取遍2D的原理,我们首先需要了解素数的性质和判断方法。
素数的定义是只能被1和自身整除的正整数。
素数的判断方法有多种,常见的方法有试除法和素数筛法。
试除法是最简单直观的方法,它的原理是从2开始,依次用2、3、4、5、6…去除待判断的数,如果能整除,则该数不是素数;如果不能整除,说明该数是素数。
素数筛法是一种高效的素数判断方法,常见的有埃拉托斯特尼筛法和欧拉筛法。
这些方法通过排除合数的方式,找出一定范围内的所有素数。
在理解素数的基础上,我们可以开始讨论相邻素数间距取遍2D的原理。
首先,我们需要定义一个二维平面,以素数作为坐标的横纵轴。
我们将素数间距作为平面上的点的属性。
然后,我们遍历整个平面,找出所有可能的素数间距。
在遍历的过程中,我们需要注意以下几点:•由于素数的分布是不规则的,因此素数间距也是不规则的。
我们需要考虑到素数间距的变化情况,以便找到所有可能的素数间距。
•我们需要使用素数判断方法判断每个坐标点是否为素数。
只有当一个坐标点为素数时,才能计算它与相邻点的间距。
•为了提高效率,我们可以使用素数筛法预先计算一定范围内的素数,然后在遍历过程中直接使用这些素数。
通过以上原理,我们可以实现相邻素数间距取遍2D的算法。
方法相邻素数间距取遍2D的方法包括以下几个步骤:1.定义一个二维平面,以素数作为坐标的横纵轴。
2.使用素数筛法预先计算一定范围内的素数。
3.遍历整个平面,找出所有可能的素数间距。
素数环题解素数环:从1 到n这n 个数摆成⼀个环,要求相邻的两个数的和是⼀个素数。
给定n的取值,输出其解所有的排列⽅式及解的个数样例输⼊6样例输出<1>1 4 3 2 5 6<2>1 6 5 2 3 42注:此题素数环拥有多种输⼊输出格式,⼩编只是举例说明。
此程序只⽀持,输⼊填⼊数的范围,输出素数环所有解的排列及排列数量。
不为某⾕……等⽹站题⽬的输出格式,但思路相同,解相同,还⿇烦⼤家⾃⾏修改输出格式。
今天为⼤家带来⼀道经典深搜题--------素数环。
读完题后即可得到⼀种思路:利⽤深搜递归的特性,⼀个⼀个像填表⼀样将满⾜条件的合法数依次填⼊环,再定义⼀个判断素数的函数来判断相邻两个数和是否为素数,计⼊⼀个⼀维数组中,在定义⼀个计数器tot记录解的个数,同时也可于每次输出表⽰此时输出的是第⼏组解。
此时,必须注意⼀个题⽬的要求:从1 到n这n 个数摆成⼀个环,即为每个数只可⽤⼀次,故可定义⼀⼤⼩为n的bool⼀维数组数组来记录,判定在同⼀素数环中是否有两个重复的数,即可完美的满⾜题意。
⼤体思路确定了,俗话说细节决定成败,写代码也是⼀样。
那么在代码细节上我们应该注意些什么呢?在此,⼩编在写代码时遇到了⼏个细节问题:1.与search函数,即深搜dfs函数中,在判定其相邻两点和是否为素数时,不要忘记判定此点是否被⽤过。
2.在素数环填完后,不要忘记素数环是⼀个环,要将也相邻的两数a[n]与a[1]的和也判断素数,在判定此素数环是否合法后再进⾏输出。
3.由于素数环是从1开始求解,故在dfs搜索时,必会使⽤其前驱(即上⼀个节点)a[0]的值,但a[0]的值永远不变,为初始值0,故会出现⼤错(可能会1分不得)。
故不可直接从a[1]开始搜索,需⽤循环先枚举a[1]的取值,从下标为2开始搜索。
(重中之重,核⼼问题所在)讲了着么多,上AC代码:#include<iostream>using namespace std;bool b[101]={0};//b数组记录与同⼀个环中是否⽤了重复的数int tot=0,a[101]={0},n;//tot记录此时搜索到第⼏个解,并统计解的个数,a数组保存素数环的排列,每次搜索成功⼀种解就输出int print()//输出素数环每个解的排列⽅式{int j;tot++;//进⼊print函数即代表搜索到了⼀组解,即可将计数器tot++cout<<"<"<<tot<<">";//输出即表⽰,此时输出的是第tot组解for(j=1;j<=n;j++){cout<<a[j]<<" ";}//输出素数环的排列,即⼀组解cout<<endl;}bool pd(int a,int b)//判断相邻两数的和是否为素数,传参两个数{int i;int c=a+b;//记录两个数的和if(c==0||c==1){return false;}//如和为0或1,即0,1均不为素数,故返回false,表⽰此搜索情况构不成素数环//tips:其实此判断可有可⽆,因解其最⼩值,1加上⼀个⽐⼀⼤的数定⼤于0和1for(i=2;i<c;i++){if(c%i==0){return false;}}//从2搜索到c-1,因素数的定义为除1与本⾝外并⽆其他因数,故在2~c-1的区间内只要有⼀数可整除,便不是素数,故返回false,表⽰此搜索情况构不成素数环return true;//如直⾄循环结束都⽆返回值,即表⽰于2~c-1的区间内⽆c的因数,即c为素数,即两数和为素数,故返回true,表⽰此搜索情况可以构成素数环int search(int t)//深搜,函数名也可写为dfs,从a[t]开始搜索,建⽴素数环{int i;for(i=1;i<=n;i++)//从1~边界n,区间内遍历,寻找和为素数的两数{if(pd(a[t-1],i)&&(!b[i]))//找到⼀个可与a[t-1],即前⼀个数两两匹配的数a[t],条件为两数之和为素数(故调⽤pd,即判断素数函数),且于此素数环中没⽤过此数(利⽤bool类型的b数组记录此数是否⽤过,没⽤过即为0,⽤过记为1){a[t]=i;//如满⾜上述条件,即此数i可填⼊单元a[t]之中,即是⼀种解,将其计⼊a数组b[i]=1;//将计⼊单元a[t]的数字i的标记即为1,即在此素数环中已⽤过此数if(t==n)//如记录的t下标已到了最终边界n,即已填完此素数环{if(pd(a[n],a[1])==true)//因此素数环是⼀个环,是联通的,故a[n]与a[1]亦相邻,故需判断a[n]与a[1]的和是否为素数(调⽤判断素数函数pd),如返回值为true,则此素数环为正解,为合法的素数环,如返回值为false,即此素数环不合法,为错误解{print();//如是,调⽤输出函数print(),将正解a数组输出}}else{search(t+1); //如不是,即没有填完,则继续填写下⼀个数字单元a[t+1]}b[i]=0; //回溯}}}int main(){int i;while(cin>>n)//⼩编将这⾥写成了可输⼊多组测试数据,⼤家可尽情调试哈{for(i=1;i<=n;i++)//由于素数环是从1开始求解,故在dfs搜索时,必会使⽤其前驱(即上⼀个节点)a[0]的值,但a[0]的值永远不变,为初始值0,故会出现⼤错(可能会1分不得)。
蒙特卡罗(费尔马小定理二次探测联合算法判定1-200内的素数)算法的思想、原理和步内容假如p是质数,且gcd(a,p)=1,那么a(p-1)≡1(mod p)。
证明先证两个引理:①:若a,b,c为任意3个整数,m为正整数,且(m,c)=1,则当ac≡bc(mod m)时,有a≡b(mod m)(这个很显然吧。
)②:设m是一个整数,且m>1,b是一个整数且(m,b)=1.如果a[1],a[2],a[3],a[4],…a[m]是模m的一个完全剩余系,则ba[1],ba[2],ba[3],ba[4],…ba[m]也构成模m的一个完全剩余系.证明:若存在ba[i]、ba[j]使得bai≡baj(mod m)bai≡baj(mod m),则ai≡aj(mod m)ai≡aj(mod m)。
然而根据完全剩余系的定义可知这并不存在。
然后再来证明费马小定理:构造P的完全剩余系:{1,2,3…,p−1}{1,2,3…,p−1}因为(a,p)=1(a,p)=1,根据引理②可得{a,2a,3a…,n}{a,2a,3a…,n}也是P的完全剩余系。
由完全剩余系的性质可得:(p−1)!≡(p−1)!ap−1(mod p)(p−1)!≡(p−1)!ap−1(mod p)两边同时除以(p−1)!(p−1)!,得ap−1≡1(mod p)ap−1≡1(mod p)证毕。
应用费马小定理是逆元的求解方法之一。
还可以快速计算形如ab≡c (mod p)ab≡c (mod p)这样的东西(当然p要是质数)还有就是MR素数判断MR素数判断一般的素数判断用的是筛法。
但是当素数比较大时,可能就无能为力了(判单个数最快是n−−√n)这时我们就可以考虑MR素数判断。
全名:Miller-Rabin素数测试,利用费马小定理判断一个数是否是质数。
当p为素数时,ap−1≡1(mod p)ap−1≡1(mod p),而当p不为素数时,上式有很大概率不成立。
c语言实现爱拉托斯散筛法求n以内的素数爱拉托斯特尼斯筛法(Sieve of Eratosthenes)是一种用于求解素数的经典算法。
它的核心思想是从2开始,逐个筛掉所有的合数,最终留下的就是素数。
我们需要一个数组来标记数字是否为素数。
假设我们要求解的素数范围是1到n,那么我们需要一个长度为n+1的布尔数组isPrime,初始时全部设置为true。
isPrime[i]为true表示数字i是素数,为false表示数字i是合数。
接下来,我们从2开始遍历数组。
对于每个素数i,我们将数组中i 的所有倍数都标记为合数。
具体实现时,可以从2开始遍历到n的平方根,因为大于平方根的倍数已经在之前的倍数中被标记过了。
当然,我们也可以从i的平方开始标记,效果是一样的。
我们遍历数组,将所有isPrime[i]为true的i输出,即为所求的n 以内的素数。
以下是具体的C语言实现:```c#include <stdio.h>#include <stdbool.h>#include <math.h>void sieveOfEratosthenes(int n) {bool isPrime[n+1];int i, j;// 初始化数组for (i = 2; i <= n; i++) {isPrime[i] = true;}// 筛选素数for (i = 2; i <= sqrt(n); i++) {if (isPrime[i]) {for (j = i*i; j <= n; j += i) { isPrime[j] = false;}}}// 输出素数for (i = 2; i <= n; i++) {if (isPrime[i]) {printf("%d ", i);}}}int main() {int n;printf("请输入一个正整数n:");scanf("%d", &n);printf("%d以内的素数有:\n", n);sieveOfEratosthenes(n);return 0;}```以上就是使用C语言实现爱拉托斯特尼斯筛法求解n以内的素数的方法。
洛谷中的素个素数问题洛谷中的素个素数问题是指在给定的一段区间内,求出其中有多少个素数。
素数即只能被1和本身整除的正整数,例如2、3、5、7等。
在洛谷中,可以使用编程语言来解决素个素数问题。
以下是一个示例的解题代码:```cpp#include <iostream>#include <cmath>using namespace std;bool isPrime(int num) {if (num <= 1) {return false;}for (int i = 2; i <= sqrt(num); i++) {if (num % i == 0) {return false;}}return true;}int countPrime(int start, int end) {int count = 0;for (int i = start; i <= end; i++) {if (isPrime(i)) {count++;}}return count;}int main() {int start, end;cin >> start >> end;cout << countPrime(start, end) << endl;return 0;}```以上代码使用了两个函数,`isPrime`函数用于判断一个数是否为素数,`countPrime`函数用于计算给定区间内的素数个数。
在`main`函数中,输入了区间的起始和结束数字,然后调用`countPrime`函数来计算区间内的素数个数,并输出结果。
在洛谷中,可以将该代码提交,即可得到给定区间内的素数个数。
一、问题描述
寻找素数对
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3456 Accepted Submission(s): 1701
Problem Description
哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数.
做好了这件实事,就能说明这个猜想是成立的.
由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的.
Input
输入中是一些偶整数M(5<M<=10000).
Output
对于每个偶数,输出两个彼此最接近的素数,其和等于该偶数.
Sample Input
20 30 40
Sample Output
7 13
13 17
17 23
Source
浙江工业大学第四届大学生程序设计竞赛
Recommend
JGShining
二、问题分析与算法实现
三、参考代码
#include <iostream>
using namespace std;
const int max_num=10001;
int flag_prime[max_num];
int prime[max_num/3];
int len=0;
void get_prime()
{
int i,j;
for(i=2;i<max_num;i++)
{
if(flag_prime[i] == 0)
prime[len++]=i;
for(j=0;j<len && i*prime[j]<max_num;j++) {
flag_prime[i*prime[j]]=1;
if(i%prime[j] == 0)
break;
}
}
}
int main()
{
int pre,last;
int n;
int num;
get_prime();
while(cin>>n)
{
num=n/2;
last=0;
while(prime[last]<num)
{
last++;
}
while(true)
{
pre=last;
while(prime[last]+prime[pre]>n)
{
pre--;
}
if(prime[last]+prime[pre]==n)
break;
last++;
}
cout<<prime[pre]<<" "<<prime[last]<<endl; }
return 0;
}
蔡尚真代码;阮凯云 2011-10-25整理。