打表,就是在做题时怎么也想不到怎样做,从而用暴力的方法将可能发生的情况全部储存,从而在一定时间内跑出所有与输入相匹配的答案。在一定的条件下,打表可以减少运行时间、提高效率。
就比如这一题
欧拉是一位著名的材料学家,他发现公式n2+n+41产生了一个0≤n<40的素数。对于n=40,公式产生1681,即41*41。尽管这个公式并不总是产生素数,但它仍然产生很多素数。
已知n≤10000000时,有47,5%的素数由公式产生!所以,您将编写一个程序,输出公式在特定时间间隔内输出的素数。 输入
每行输入将被赋予两个正整数a和b,使得0≤a≤b≤10000。你必须一直读到最后。
输出
对于每对a,b read,您必须输出此区间(a≤n≤b)内由公式产生的质数的百分比,四舍五入为两位小数。
样本输入
0 39
0 40
39 40
样本输出
100.00
97.56
50.00
代码如下:
#include<stdio.h>
#include<math.h>
int A[11000000];
int su(int x)//判断素数
{
int a=sqrt