3570 - 8.cpp
时间限制 : 1 秒
内存限制 : 128 MB
编写程序,计算并输出3到n(含3和n)的所有素数的平方根之和,要求n的值大于2但小于等于100。
int prime(int num) 判断素数
题目输入
输入一个整型数据n。 (多组输入数据)
题目输出
计算后的数据。(多组输出数据)(输出使用%.2f 格式符)
输入/输出样例
输入格式
100 50
输出格式
148.87 63.67
C语言解答
#include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> #include <time.h> int isPrimeNumber(int num) { int bPNum = 1; int i = 0; for(i=2;i<=num/2;i++) { if(num%i==0) { return 0; } } return 1; } int main() { // freopen("in","r",stdin); // freopen("out","w",stdout); int i; int n; float total; while(scanf("%d",&n)!=EOF) { i = 0; total = 0.0; for(i=3; i<=n; i++) { if(isPrimeNumber(i)==1) { total += sqrt((float)i); } } printf("%.2f\n",total); } return 0; }
C++解答
#include<stdio.h> #include<math.h> int prime(int num) { int i,k=0,m=1; for(i=2;i<num;i++) { if(num%i!=0) { k++; } else{ m++; } } if(k==(num-2)&&(m==1)) { return num; } else{ return 0; } } int main() { int n,i,a[100]; double sum; while(scanf("%d",&n)!=EOF) { sum=0; for(i=3;i<=n;i++) { if(i==prime(i)) { sum=sum+sqrt(i); } } printf("%.2lf\n",sum); } return 0; }