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). 输出 一行 ...
随机推荐
- c/c++面试题一
1.找错 void test1() { char string[10]; char *str1="0123456789"; strcpy(string,str1); } 试题一字符 ...
- Django:同一个app支持多个数据库
我以我个人的Mynote工程说明,目的是要在backend这个app里面设置不同的model对应daysn和bear两个数据库进行操作 现在我们先简单对一个完全新建的django工程配置一个自动在my ...
- 在IIS托管服务中设置Rewrite重定向到webapi接口
最近公司遇到这样一个问题.公司以前使用一个SiteServer CMS开源框架来搭建网站,是以asp.net开发的,并且托管在IIS中.其中出现了一个问题,就是用ajax访问不了这个框架后台的weba ...
- MSSQL2005-由嵌套失误感受到的强大智能优化功能
在统计一组数据时用到了子查询(子查询用到了count,父查询用了sum) 后语句优化为无子查询 但是跟踪两次的执行计划和IO统计,发现 1.有子查询时扫描计数和逻辑读取远高于无子查询的语句 2.无子查 ...
- js jquery 正则去空字符
1.正则去空字符串: var str1=" a b c "; var strtrim=str1.replace(/\s/g,""); 2.js去前后空字符串: ...
- 正则表达式中的re.S
正则表达式中,“.”的作用是匹配除“\n”以外的任何字符,也就是说,它是在一行中进行匹配.这里的“行”是以“\n”进行区分的.a字符串有每行的末尾有一个“\n”,不过它不可见. 如果不使用re.S参数 ...
- hadoop sentry错误记录
1.报无法实例化metastore连接 hive> show tables; FAILED: SemanticException org.apache.hadoop.hive.ql.metada ...
- Linux磁盘故障案例
原因:由于另外一块磁盘不存在,但是配置文件/etc/fstab中又有挂载的配置,挂载出问题就导致这样的故障. 输入root密码进去 编辑/etc/fstab文件把箭头指向的这一行注释掉或者删除掉.然后 ...
- jquery slideDown 控制div出现的方向
.custom-popup { position: absolute; /*top: 0;*/ 上向下 ; 下向上 ; ; display: none; width: 100%; height: 10 ...
- 阻止事件冒泡传播stopPropagation() 阻止自身默认行为preventdefault()
stopPropagation 简单理解:子元素的点击事件 不会去触发父元素的点击事件 preventdefault 简单理解:当点击提交按钮时(submit) 阻止对表 ...