C语言 素数平方之和

方法一:

#include<stdio.h>

#include<math.h>

double fun(int m)

{

int n,i,k;

double s =0.0;

for(n=3;n<=m;n++)

{

k = sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0) break;    //如果n为合数,结束这一层for循环

if(i>=k+1) s += sqrt(n);  //i一直不能被n除尽,则n为素数

}

return s;

}

void main()

{

int m;

double s;

FILE *out;

printf("\n\nInput m :");

scanf("%d",&m);

s = fun(m);

printf("\n\ns=%f\n\n",s);

}

方法二:

#include<stdio.h>

#include<math.h>

double fun(int m)

{

/*

int n,i,k;

double s =0.0;

for(n=3;n<=m;n++)

{

k = sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0) break;

if(i>=k+1) s += sqrt(n);

}

*/

int i,j;

double s = 0.0;

for(i=3;i<=m;i++)

{

for(j=2;j<i;j++)

{

if(i%j == 0) break;

}

if(j >= i)

s = s + sqrt(i);

}

return s;

}

void main()

{

int m;

double s;

FILE *out;

printf("\n\nInput m :");

scanf("%d",&m);

s = fun(m);

printf("\n\ns=%f\n\n",s);

}

时间: 2024-08-01 22:52:20

C语言 素数平方之和的相关文章

c语言 素数

上个学期学了c语言,但是没有学好.而且平时一直在电脑上练习,导致c语言一直没有掌握好,最近我一直迫切的想要学一些东西,于是便从头开始.关于素数一直是我的心魔.因为我一直以为这个很简单,但是在考计算机二级的时候我竟然栽在这个上面了   于是今天我编了一下    但很奇怪的是我在DEV++上编的时候出现了bug   我少打一个\n他就报错   我也不知道是怎么回事! 又用了另一种方法   这回有没有\n都不会报错了   真出bug了吗?

C语言素数

求1-10000之间的素数,并打印出来. 使用了sbrk和brk函数,采用直接操作内存的方式,尽量减少循环次数,每次进行素数判断仅与之前的素数进行相除.该代码并不健壮,仅作练习用. #include <stdio.h> #include <stdlib.h> #include <unistd.h> int *p; int Primer(int a,int *size); main() { int a=10000; int size; p=sbrk(0); Primer(

[程序设计入门—C语言] 素数和

题目内容:http://mooc.study.163.com/learn/ZJU-1000002011#/learn/ojhw?id=1000052000 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数. 输入格式: 两个整数,第一个表示n,第二个表示m. 输出格式: 一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素

【算法】将正整数表示为平方数之和

问题来源 Timus Online Judge 网站上有这么一道题目:1073. Square Country.这道题目的输入是一个不大于 60,000 的正整数,要求计算出该正整数最少能够使用多少个正整数的平方和来表示.这道题目的时间限制是 1 秒. 问题解答 <数论导引(第5版)>([英]G.H.Hardy.E.M.Wright 著,人民邮电出版社,2008年10月第1版)第 320 页有以下定理: 定理 369(Lagrange 定理): 每个正整数都是四个平方数之和 在这个定理中,平方

x264源代码简单分析:滤波(Filter)

本文记录x264的x264_slice_write()函数中调用的x264_fdec_filter_row()的源代码.x264_fdec_filter_row()对应着x264中的滤波模块.滤波模块主要完成了下面3个方面的功能: (1)环路滤波(去块效应滤波)(2)半像素内插(3)视频质量指标PSNR和SSIM的计算 本文分别记录上述3个方面的源代码. 函数调用关系图 滤波(Filter)部分的源代码在整个x264中的位置如下图所示. 单击查看更清晰的图片 滤波(Filter)部分的函数调用关

ASC #1

开始套题训练,第一套ASC题目,记住不放过每一题,多独立思考. Problem A ZOJ 2313 Chinese Girls' Amusement 循环节 题意:给定n,为圆环长度,求k <= n/2,从1出发,每次顺时针方向走k步,即1->k+1->2*k+1,直到遇到一个已经走过的点结束,要求最终把所有点访问一遍,最后回到1,使得k尽量大. 代码: Problem B ZOJ 2314 Reactor Cooling 无源汇上下界网络流 题意:经典题,有上下界无源无汇的可行流,对

px、pt、in、dp、dpi

    PPI 与 DPI ppi的运算方式是:PPI = √(长度像素数2 + 宽度像素数2) / 屏幕对角线英寸数.即:长.宽各自平方之和的开方,再除以屏幕对角线的英寸数. 以iphone5为例,其ppi=√(1136px2 + 640px2)/4 in=326ppi(视网膜Retina屏) 可以参考: http://www.paintcodeapp.com/news/iphone-6-screens-demystified http://foggry.com/blog/2014/09/28

【初等数论】 06 - 不定方程

前面介绍的只是初等数论的基本概念,它有很多的应用场景,如果有机会以后我们还会看到,这里我只想单独举出不定方程的例子.不定方程又叫丢潘图方程,它们以整数(或有理数)为变量和参数,而且有两个以上的未知数,多以多项式形式出现.不定方程既是数论的应用,也是数论理论形成的来源,对不定方程的思考会动用起你全部的数论知识.这里仅列举一些简单的问题,作为知识巩固也好,作为娱乐欣赏也行. 1. 一次不定方程 最简单的不定方程就是一次方程(1),它表现为一个多元线性方程.如果你还记得前面最大公约数的线性组合定义,就

歌德巴赫猜想的证明

输入代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作 者:林海云 *完成日期:2014年12月30日 *版 本 号:v2.0 * *问题描述:写一个函数gotbaha, 验证"每个不小于6的偶数都是两个奇素数之和",输入一个不小于6的偶数n,找出两个素数,使它们的和为n. *程序输入: 一个不小于6的偶数n *程序输出: 符合要求的两个素数 */ #include<