PTA——求n以内k个质数和
PTA
7-51 求n以内最大的k个素数以及它们的和
#include<stdio.h>
#include<math.h> int isPrime(int n);
int main() {
int i,cnt=,n,k,sum;
scanf("%d%d",&n,&k);
for(i=n; i>=; i--) {
if(i!= && isPrime(i) && cnt<k-) {
sum += i;
cnt++;
printf("%d+",i);
} else if(i== ||(isPrime(i) && cnt==k-)) {
sum += i;
cnt++;
printf("%d=",i);
}
if(cnt==k) break;
}
printf("%d",sum);
} int isPrime(int n) {
int i,flag = ;
for(i=; i<=(int)sqrt(n); i++) {
if(n%i==) flag = ;
}
return flag;
}
我的程序,自己写了几个测试都对,但不知为啥在PTA里全错。。。
#include <stdio.h>
#include <math.h>
#define N 10
int isPrime(int p);
int main(){
int n, k, i, count, sum=;
int maxPrimes[N];
scanf("%d%d", &n, &k);
i = n;
count = ;
while(i>){
if(count<k){
if(isPrime(i)){
maxPrimes[count] = i;
sum += i;
count++;
}
}
else{
break;
}
i--;
}
for(i=; i<count-; i++){
printf("%d+", maxPrimes[i]);
}
printf("%d=%d", maxPrimes[count-], sum); return ;
}
int isPrime(int p){
int isPrime=;
int i;
if(p<){
isPrime = ;
}
else{
for(i=; i<=(int)sqrt(p); i++){
/*若p为合数,则必有不大于sqrt(p)的因子*/
if(p%i == ){
isPrime = ;
break;
}
}
}
return isPrime;
}
云上的程序,用数组存储比我的实现更自然,当然PTA结果也全对,差距啊。。
PTA——求n以内k个质数和的更多相关文章
- while做法1.兔子生兔子 2.求100以内质数的和3.洗发水15元 牙膏5元 香皂2元 150元的算法
1.兔子生兔子 2.求100以内质数的和 3.150块钱花完问题
- while:1.兔子生兔子问题 2.打印菱形 3.求100以内质数的和4.洗发水15元一瓶,牙膏5元一支,香皂2元一块,150元刚好花完
1.兔子生兔子问题: 2.打印菱形 3.求100以内质数的和 4.洗发水15元一瓶,牙膏5元一支,香皂2元一块,150元刚好花完有多少种情况?
- for嵌套:1.兔子生兔子问题 2.打印菱形 3.求100以内质数的和
1.兔子生兔子问题 方法一: 方法二: 2.打印菱形 3.求100以内质数的和
- 求1000以内的质数c语言
之前在做求1000以内的质数的时候,我们一般能想到的就是从3~(根号)no,逐一和no除,如果存在某个i使得 i|no成立的话,说明no不是质数(“i|no”是i整除除no的意思): 在<明解 ...
- HDU-2204-Eddy's爱好-容斥求n以内有多少个数形如M^K
HDU-2204-Eddy's爱好-容斥求n以内有多少个数形如M^K [Problem Description] 略 [Solution] 对于一个指数\(k\),找到一个最大的\(m\)使得\(m^ ...
- 用SQL求1到N的质数和
今天在百度知道中,遇到了一位朋友求助:利用sql求1到1000的质数和.再说今天周五下午比较悠闲,我就在MSSQL 2008中写了出来,现在分享在博客中,下面直接贴代码: declare @num i ...
- 【C语言】输入一个整数N,求N以内的素数之和
[C语言]输入一个整数N,求N以内的素数之和 /* ========================================================================== ...
- 斐波那契数列(递归)&求100以内的素数
Java 5 添加了 java.util.Scanner 类,这是一个用于扫描输入文本的新的实用程序.它是以 前的 StringTokenizer 和 Matcher 类之间的某种结合.由于任何数据都 ...
- 求10000以内n的阶乘(openjudge 2923)
求10000以内n的阶乘 总时间限制: 5000ms 内存限制: 655360kB 描述 求10000以内n的阶乘. 输入 只有一行输入,整数n(0<=n<=10000). 输出 一行 ...
随机推荐
- redis持久化数据的机制——转发
转载:https://www.cnblogs.com/xingzc/p/5988080.html Redis提供的持久化机制(RDB和AOF) Redis提供的持久化机制 Redis是一种面向“k ...
- 【推荐】HTML5 Word Cloud——中文词云
在线工具: http://timdream.org/wordcloud/# 源码: https://github.com/timdream/wordcloud
- Saiku数据库迁移H2迁移到Mysql(二十二)
Saiku数据库迁移H2迁移到Mysql Saiku默认使用H2数据库来存储saiku的用户与角色信息,我们可以根据角色来做saiku的权限控制,然后将角色分配给用户 ,该用户就会有对应的约束了! 由 ...
- 浅谈Object.assign()
Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.返回值为目标对象. 1 Object.assign 是 ES6 新添加的接口,主要的用途是用来合并多个 Ja ...
- Spring 基础知识(二)Spring的bean初始化与生命周期,以及注入
Spring bean 初始化: 参考博文: https://www.cnblogs.com/luyanliang/p/5567164.html 1. 加载xml 文件. 扫描注解 ,形成bean定义 ...
- document.onkeydown
document.onkeydown=function(e) { if(e.keyCode==13) { //当按下回车键,执行我们的代码 } }
- 纯css实现评分
用到的知识点: E:checked:单选或复选框被选中 E ~ F: 选择后面的兄弟节点们:选择后面的兄弟节点 E::after,E::before: 伪元素选择器 在匹配E的元素后面(前面)插入内容 ...
- .NetCore多文件上传进度的示例
主要讲的内容有: 1-----form方式上传一组图片 2-----ajax上传一组图片 3-----ajax提交+上传进度+一组图片上传 4-----Task并行处理+ajax提交+上传进度+一组图 ...
- Linux一些常用操作命令
1.创建一个等同于root管理员的用户 useradd -u 0 -o -g root -G root -d /home/username username usermod -u 0 -o ...
- UML 类图口诀
UML类图口诀: (10G:实线继承)空三角实线指向被继承, (虚实:虚线实现)空三角虚线指向被实现, (恐惧:空棱形聚合)空棱形实线(棱形)指向聚合整体.部分作为成员变量. (十足:实棱形组合)实棱 ...