求500内所有质数平方和

#include<stdio.h>
#include<math.h>
main()
{
int i,j;
float a,m=0;
for(i=2;i<=500;i++)
{
 for(j=2;j<=i;j++)
 {
  if(i%j==0)
   break;
 }
  if(i==j)
  {
   a=sqrt(i);
      m=m+a;
  }
}
printf("所有质数的平方和为%f\n",m);
}

时间: 2024-10-06 15:24:07

求500内所有质数平方和的相关文章

求n以内的质数(质数的定义:在大于1的自然数中,除了1和它本身意外,无法被其他自然数整除的数)

思路: 1.(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数2.除了2的偶数都不是质数代码如下: /** * 求n内的质数 * @param int $n * @return array */ function get_prime($n) { $prime = array(2);//2为质数 for ($i = 3; $i <= $n; $i += 2) {//偶数不是质数,步长可以加大 $sqrt = intval(sqrt($i));//求根号n for ($j = 3;

模板小程序】求小于等于N范围内的质数

xiaoxi666 联系邮箱: [email protected] 博客园 首页 新随笔 联系 订阅 管理 [模板小程序]求小于等于N范围内的质数 1 //筛法求N以内的素数(普通法+优化),N>=2 2 #include <iostream> 3 #include <cmath> 4 #include <vector> 5 using namespace std; 6 ///寻找N以内的质数 7 vector<int> find_Prime(int

求100内质数的个数

// 求100内质数的个数 非容斥 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> #include<cstring> using namespace std; int n,sum; int main() { scanf("%d",&n); for(int i=1;i<=

求 0-N 内有多少个素数

问题:求 0-N 内素数的个数. 预备知识 什么是素数:素数(又叫质数),与之相反的是合数.素数的因数只有 1 和 他本身,例如:7 = 1 * 7.而 6 = 1 * 6 = 2 * 3,因此6不是素数. 规定:0 和 1 既不是 素数 也不是 合数. 判断素数:如果一个数 x 是素数,那么在整数范围 [2,√x ] 之间,找不到任何能整除x 的整数.为什么只需要尝试到 √x ,而不是 n-1 呢?(肯定不是n呀,因为n是他本身,判断 n 就和判断 1 一样,没有意义的). √x 的由来:一个

HDU4622:Reincarnation(后缀数组,求区间内不同子串的个数)

Problem Description Now you are back,and have a task to do: Given you a string s consist of lower-case English letters only,denote f(s) as the number of distinct sub-string of s. And you have some query,each time you should calculate f(s[l...r]), s[l

求100以内的质数

求100以内的质数. 1 num = [2] 2 i = 3 3 while i < 101: 4 j = 2 5 while j < i: 6 if i % j == 0: 7 break 8 else: 9 j = j + 1 10 continue 11 else: 12 num.append(i) 13 i = i + 1 14 print(num)

利用数组求前n个质数

我的算法思想和实现方式都在代码和注释当中呢,这样的方式确实使算法复杂度降低一个等级,很好啊. #include <stdio.h> #include <time.h> /** * 利用数组求前n个质数 * 确定一个数m是否为质数,可以用已求出的质数对m * 的整除性来确定 */ //如果不知道质数的特性和想不到优化思路的方法 void getNPrimes_normal(); //优化之后的方法 void getNPrimes_optimize(); int main(void)

作业1:求500到1000之间有多少个素数,并打印出来

首先要知道什么是素数:所谓素数是指除了1和它本身以外,不能被任何整数整除的数. 数学里判断一个数n是否是素数,用n除以从2到这个数开方后所能取得最大整数,如果都不能整除,就说明这个数是素数. 所以这里我们用两层循环遍历 1 package com.etc; 2 public class IsSushu { 3 /** 4 * 第一题作业:求500到1000之间有多少个素数,并打印出来 5 * @param args 6 */ 7 public static void main(String[]

一个关于求数组内最大子数组的和的小程序以及一周总结

一个数组内有正数和负数,而且数组是循环的.求数组内最大子数组的和.要求数组是算法空间复杂度为O(1). 思路: 1.求出每个子数组的值,比较大小. 2.定义一个参数,为数组的长度. 3.构造另外的数组,使得是原数组的得到两个集合.比如a={1,2,3,4}.b={1,2,3,4,1,2,3,4}; 4.这样可以满足数组的循环,参数为原数组的长度. 代码如下: package zuida; import java.io.*; import java.util.Scanner; class qiu