PTA教辅 求n以内最大的k个素数以及它们的和
2017-05-14 23:22
309 查看
5-22 求n以内最大的k个素数以及它们的和 (20分)本题要求计算并输出不超过n的最大的k个素数以及它们的和。
输入格式:
输入在一行中给出n(10≤\le≤n≤\le≤10000)和k(1≤\le≤k≤\le≤10)的值。输出格式:
在一行中按下列格式输出:素数1+素数2+…+素数k=总和值其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输出。
输入样例1:
1000 10
输出样例1:
997+991+983+977+971+967+953+947+941+937=9664
输入样例2:
12 6
输出样例2:
11+7+5+3+2=28
分析:这个太水了,写这个就是花式的用用STL的二分玩玩。PS:我比较懒,没用筛法求素数表,不要学我。
#include <bits/stdc++.h>using namespace std;vector<int> mp;void init(){for(int i=2; i<=10000; i++){bool ok=1;for(int j=2; j<=sqrt(i); j++){if(i%j==0) ok=0;}if(ok) mp.push_back(i);}}int main(){init();int n,k;cin>>n>>k;int pos=lower_bound(mp.begin(),mp.end(),n)-mp.begin();long long ans=0;k=min(k,pos);for(int i=1;i<=k;i++){printf("%d",mp[pos-i]);if(i!=k) cout<<"+";ans+=mp[pos-i];}cout<<'='<<ans;return 0;}
相关文章推荐
- pta 习题集 5-14 求n以内最大的k个素数以及它们的和
- pta 习题集 5-14 求n以内最大的k个素数以及它们的和
- 7-51 求n以内最大的k个素数以及它们的和
- 14 求n以内最大的k个素数以及它们的和
- 5-36 求n以内最大的k个素数以及它们的和 (20分)
- 求n以内最大的k个素数以及它们的和
- PTA 7-14 求n以内最大的k个素数以及它们的和(20 分)
- Codeforces Round #375 (Div. 2) F. st-Spanning Tree(给你n个点,m条边,有两个给定的点S,T以及它们在生成树中最大的度数)
- 给定2个数,求出它们的最大公约素数
- 4.编程打印一个二维数组中所有元素的和,并打印最大值,最小值(以及它们所在的行号和列号)
- python 判断素数以及高效求n以内素数
- 【ZOJ 1562和 BZOJ 1053】【反素数】【求n以内的因子最多的那个数(即不超过n的最大反素数)】
- 从键盘上输入5个数,输出最大、最小元素的值以及它们的下标
- 求100以内的素数以及个数
- 求n以内的最大素数,若n最大为21亿
- Java中循环问题:for,while,do-while 各种练习(打印上三角、下三角、输出100以内的素数、水仙花、最大公约、最小公倍数、分解质因数、兔子问题)
- 2的256次方以内最大素数base58表示
- [置顶] 关于求N以内素数的python实现以及优化方法
- python任意多个整数,并输出其中最大值 最小值以及它们的和
- 数学问题(六)之 求100以内最大的素数