计算并输出3到100(包括3和100)之间所有素数之和的平方根。 C语言,求救

 我来答
White_MouseYBZ
2017-07-12 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6493万
展开全部

自定义一个判断素数的函数IsPrime,整型形参n是素数时返回n,否则返回0。主函数中用一for循环,计数变量i从3开始每步为2增量(因为大于2的奇数才可能是素数)到100,把用i调用IsPrime的返回值累加给和变量s,最后输出时调用库函数sqrt来求s的平方根。代码如下:

#include "stdio.h"
#include "math.h"//包含math.h以支持sqrt调用
int IsPrime(int n){//自定义素数判断
int i;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return n;
}
int main(int argc,char *argv[]){
int i,s;
for(s=0,i=3;i<101;i+=2)//遍历3~100的奇数
s+=IsPrime(i);//把IsPrime的返回值累加到s
printf("The result is %g\n",sqrt(s));//调用库函数sqrt求平方根
return 0;
}

运行结果如下:

guxingfly
2010-11-17
知道答主
回答量:14
采纳率:0%
帮助的人:14.4万
展开全部
Private Sub sum()
Dim i As Integer
Dim j As Integer
Dim num As Integer
Dim flg As Boolean
For i = 3 To 100
For j = 2 To i - 1
If i Mod j = 0 Then
flg = False
Exit For
End If
Next j
If flg Then
num = num + i
End If
flg = True
Next i
Label1.Caption = Sqr(num)
End Sub
这是用vb写的一个方法,算法思路应该是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huifei484334
2010-11-17 · 超过10用户采纳过TA的回答
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部
//先求3到100间的所有素数,存在数组中;
//求该数组的所有为素数的元素之和,然后开方求平方根

#include <stdio.h>
#include <math.h>
int sushu[98];//开辟个最大容量的,假设都是素数

/*从2开始,是素数就放入数组,
然后用后面的数去除以这个数组的所有元素,
都不能能整除就是素数
最后求和的时候把2去掉*/
int findsushu()
{
int num = 1,n=0;
sushu[0] = 2;
for(int i=3;i<=100;i++)
{
n = 0;
for(int j=0;j<num;j++)
{
if(i%sushu[j] == 0)
break;
else
n++;
}
if(n==num)
{
sushu[num]=i;
printf("%d\n",i);
num++;
}
}
return num;
}
//2是sushu[0],从sushu[1]开始加
int addall(int sum,int num)
{
for(int i=1;i<num;i++)
sum+=sushu[i];
return sum;
}
int main()
{
int num = 0,sum = 0;
float result = 0;
num = findsushu();
printf("num = %d\n",num-1);
sum = addall(sum,num);
printf("sum = %d\n",sum);
result = sqrt(sum);
printf("result is %f",result);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z1010226475
2010-11-17
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#include<stdlib.h>

float func(int s)
{
float a;
a=s/a;
return a;
}

int main()
{
int j, i;
int sum = 0;
float b;
for(i = 3;i < 100;i++)
{
for(j = 3;j < 100;j++)
{
if(j%i == 0) break;
if(j%i !=0) return i;
}
}
sum = sum + i;
b = func(sum);
printf("%f",b);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式