3570 - 8.cpp

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

编写程序,计算并输出3n(含3n)的所有素数的平方根之和,要求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;
			}