首页 > 代码库 > “玲珑杯”ACM 热身赛 # 0.5 A -- Alarm 【素数打表】【找规律】
“玲珑杯”ACM 热身赛 # 0.5 A -- Alarm 【素数打表】【找规律】
A -- Alarm
Time Limit:1s Memory Limit:128MByte
【思路】找规律:the k-th = 第k个素数^2 - k;
3=2^2-1 7=3^2-2 22=5^2-3 45=7^2-4......
AC代码:
#include<cstdio>#define H 1000005long long s[H]={1,1};long long x[H];void sushu(){ long long i, j; for(i = 2; i <= H; i++) { if(s[i] == 1) continue; for(j = i*2; j <= H; j=j+i) s[j] = 1; }}void fun(){ long long i, j = 1; for(i = 2; i <= H; i++) { if(s[i] == 0) { x[j] = i*i-j; j++; } }}int main(){ sushu(); fun(); long long t, k; scanf("%lld", &t); while(t--) { scanf("%lld", &k); printf("%lld\n", x[k]); } return 0; }
“玲珑杯”ACM 热身赛 # 0.5 A -- Alarm 【素数打表】【找规律】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。