c语言求n以内能被k整除的和,PTA——求n以内k个质数和

本文探讨了两个C语言程序,分别用于找出指定范围内最大的k个素数及其和。程序通过判断素数和累加求和实现,其中一个使用了动态存储,另一个借助数组。虽然作者的程序在本地测试正确,但在PTA平台上遇到错误。另一篇云上的程序则使用了更简洁的数组实现并得到正确结果。文章还提到了其他与素数和计算相关的编程问题,如斐波那契数列和SQL求质数和。
摘要由CSDN通过智能技术生成

PTA

7-51 求n以内最大的k个素数以及它们的和

#include

#include

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

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

#include

#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

if(isPrime(i)){

maxPrimes[count] = i;

sum += i;

count++;

}

}

else{

break;

}

i--;

}

for(i=; 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结果也全对,差距啊。。

求1000以内的质数c语言

之前在做求1000以内的质数的时候,我们一般能想到的就是从3~(根号)no,逐一和no除,如果存在某个i使得  i|no成立的话,说明no不是质数(“i|no”是i整除除no的意思): 在

HDU-2204-Eddy&&num;39&semi;s爱好-容斥求n以内有多少个数形如M&Hat;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以内的素数之和 /* ========================================================================== ...

斐波那契数列(递归)&amp&semi;求100以内的素数

Java 5 添加了 java.util.Scanner 类,这是一个用于扫描输入文本的新的实用程序.它是以 前的 StringTokenizer 和 Matcher 类之间的某种结合.由于任何数据都 ...

求10000以内n的阶乘(openjudge 2923)

求10000以内n的阶乘 总时间限制:  5000ms 内存限制:  655360kB 描述 求10000以内n的阶乘. 输入 只有一行输入,整数n(0<=n<=10000). 输出 一行 ...

随机推荐

&lbrack;HIHO1393&rsqb;网络流三&&num;183&semi;二分图多重匹配

题目链接:http://hihocoder.com/problemset/problem/1393 把项目到汇点的边权值都加起来,跑完最大流后看是否最大流=权值和.如果等于权值和说明所有项目都有足够的 ...

Android ListView 详解

我做Android已经有一段时间了,想想之前在学习Android基础知识的时候看到了许许多多博主的博文 和许多的论坛.网站.那时候就非常感谢那些博主们能吧自己的知识分享在互联网上,那时候我就想 如果我 ...

从URI中获取实际的文件path

如题,经常用在onActivityResult方法中解析图片等各种地址,因为Android 4.4之后google更改了对应的方法. /** * Get a file path from a Uri. ...

TCP粘包的拆包处理

因为TCP是流式处理的,所以包没有边界,必须设计一个包头,里面表示包的长度(一般用字节表示),根据这个来逐个拆包.如果对于发送/接收频率不高的话,一般也就不做拆包处理了,因为不大可能有粘包现象. 以下 ...

【HTML&plus;CSS】浅谈:相对定位与绝对定位

相对定位和绝对定位 ·定位标签:position  ·包括属性:relative(相对) absolute(绝对) 1.position:relative; 假设对一个元素进行相对定位.首先它将出如今 ...

awk 数组排序-- asort 与 asorti

两者排序区别: asort 是对数组的值进行排序,并且会丢掉原先键值: asorti是对数组的下标进行排序. 数据文件: 12 34 78 90 23 45 1. awk是关联数组.for-in循环输 ...

sea&period;js及三种加载方式的异同

一.前言     浏览器本身并不提供模块管理的机制,过去网页开发中,为了使用各种模块,不得不在加入一大堆script标签.这样就使得网页体积臃肿,难以维护,还产生大量的HTTP请求,拖慢显示速度, ...

javamail接收邮件&lpar;zt&rpar;

zt from:http://xiangzhengyan.iteye.com/blog/85961 import

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值