精华内容
下载资源
问答
  • C语言之素数判断及输出

    多人点赞 热门讨论 2021-05-16 22:25:10
    文章目录C语言之素数判断什么是素数如何计算素数素数源代码 什么是素数 素数:素数一般指质数。质数是指在大于1的自然数中,除了1它本身以外不再有其他因数的自然数(来自百度词条)。 如何计算素数 当一个数本身...

    C语言之素数判断及输出

    我们要想解决素数问题首先要明确素数是什么。

    什么是素数

    素数:素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数(来自百度词条)。

    如何计算素数

    当一个数本身除了1和它本身以外不再有其他因数时为素数。
    1):因此判断一个整数num是否为素数,只需用 2 ~ num-1 (因为所有整数都能被1整除)之间的每一个整数去除num,如果都不能被整除,那么 num即一个素数。
    用C语言语句表示为:

    //如判断数num是否为素数
    flag = 0;
    for(int i=2;i<num;i++)
    {
    	if(num%i==0)
    	flag = 1;
    }
        if{flag == 0}
         { //是素数 }
        else
        { //不是素数 }
    

    这里循环可以继续做一下优化减少不必要的运算
    2):num不必被 2 ~ num-1 之间的每一个整数去除,只需被 2 ~ √num之间的每一个整数去除就可以了。如果 num不能被 2 ~ √num之间任一整数整除,num 一定是素数。

    // An highlighted block
    flag = 0;
    for(int i=2;i<=sqrt(num);i++)
    {
    	if(num%i==0)
    	flag = 1;
    }
        if{flag == 0}
         { //是素数 }
        else
        { //不是素数 }
    

    这里需要用到sqrt函数,在c语言<math.h>(数学库)中直接调用即可
    这里需要用到sqrt函数,在c语言<math.h>(数学库)中直接调用即可.

    素数源代码

    (1)素数判断

    // **判断num是否为素数**
    #include<stdio.h>
    #include<windows.h>
    #include <math.h>
    #pragma warning(disable:4996)   //vs(vs2013)使用scanf时需要加 _s 否则会报错,用这种是解决方法之一
    
    int main()
    {
    	int num, i;
    	int flag=0;              //判断标志
    	scanf("%d", &num);  //输入要判断的整数num
    	if (num == 0){
    		flag = 1;
    	}
    	for (i = 2; i <= sqrt(num); i++)
    	{
    		if (num%i == 0){
    			flag = 1; 
    			break;
    		}
        }
    	if (flag == 0){
    		printf("%d是素数。\n",num);
    	}
    	else{
    		printf("%d不是素数。\n", num);
    	}
    	system("pause");   //vs运行会直接结束运行窗口自动关闭,可以用<window.h>中的syetem函数使运行窗口保留。 
    	return 0;
    }
    
    

    (2)输出1~100所有的素数

    // **找出1~100中所有素数**
    #include<stdio.h>
    #include<Windows.h>
    #include <math.h>
    
    int main()
    {
    	int i = 2,flag=0;
    	for (; i <= 100; i++)
    	{
    		flag = 0;
    		int j = 2;
    		for (; j <=sqrt(i); j++){
    			if (i % j == 0){
    				flag++;
    				break;
    			}
    		}
    		if (flag == 0){
    			printf("%d  ", i);
    		}
    		
    	}
    	printf("是素数。\n");
    	system("pause");   //vs运行会直接结束运行窗口自动关闭,可以用<window.h>中的system函数使运行窗口保留。 
    	return 0;
    }
    
    

    代码都是自己写的,如有不对欢迎指正【抱拳】。

    展开全文
  • C语言素数

    2020-03-28 16:58:38
    功能是:选出 100 以上 1000 之内所有个位数字与十位数字之和被 10 除所得 余数恰是百位数字的素数(如 293)。计算并输出上述这些素数的个数 cnt 以及这些素数值的 和 sum。 请编写函数 countValue( )实现程序要求,...

    如题

    功能是:选出 100 以上 1000 之内所有个位数字与十位数字之和被 10 除所得 余数恰是百位数字的素数(如 293)。计算并输出上述这些素数的个数 cnt 以及这些素数值的 和 sum。

    请编写函数 countValue( )实现程序要求,后调用函数 writeDAT()把结果 cnt 和 sum 输出到文件 bc10.out 中。

    话不多说了,直接上代码

    #include <stdio.h>
    
    int cnt, sum ;
    
    int isPrime(int m)
    
    {
    
    int i;
    
    for(i=2;i<m;i++)
    
    if(m % i==0)return 0;
    
    return 1;
    
    }
    
    void countValue()
    
    { int i,j,bw,sw,gw;
    
    for(i=100;i<1000;i++)
    
    { bw=i/100; sw=i%100/10; gw=i%10;
    
    if(isPrime(i)&&(gw+sw)%10==bw) { cnt++; sum+=i;}
    
    }
    
    }
    
    void main()
    
    {
    
    cnt=sum=0;
    
    countValue() ;
    
    printf("素数的个数=%d\n", cnt) ;
    
    printf("满足条件素数值的和=%d", sum) ;
    
    writeDAT() ;
    
    }
    
    writeDAT()
    
    {
    
    FILE *fp ;
    
    fp = fopen("bc10.out", "w") ;
    
    fprintf(fp, "%d\n%d\n", cnt, sum) ;
    
    fclose(fp) ;
    
    }
    
    展开全文
  • 请编写函数function,它的功能是:计算并输出3到n之间所有素数的平方根之和 例子:若我们main函数从键盘给n输入5之后,我们需要输出结果为3.968119 输入值n的要求:正整数n, 要求小于100。 2...

    1、题目

    请编写函数function,它的功能是:计算并输出3到n之间所有素数的平方根之和

    例子:若我们main函数从键盘给n输入5之后,我们需要输出结果为3.968119
    输入值n的要求:正整数n, 要求小于100。

     

     

     

     

     

     

     

     

     

     

    2、部分函数说明

    C 库函数 double sqrt(double x) 返回 x 的平方根

     

     

     

     

     

     

     

     

    3、温馨提示

          C语言试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的offer,每一个题目都附带源代码和运行结果,让你不再有任何困惑,妈妈再也不担心我的C语言了。如果程序有任何看不懂或者哪个步骤不理解的地方都可以加我微信(15874274916)私聊我,或者有更好的思路解决办法都可以加我微私聊,一起探讨、希望可以正真的帮助到你,同时也可以扫下面的二维码关注我微信公众号,比如你还对生活、美食或者其它方面都感兴趣,都可以加微信交流,博主擅长讲解计算机相关方面的知识、如果大家对计算机方向、前端、移动端、服务端、数据结构、算法、网络、高数等等一些列方向比较迷茫或者不知道要学哪些?或者具体怎么学?或者其它方向有任何困惑都可以找我交流,谢谢大家关注。

     

     

     

     

     

     

     

    4、源代码实现

    #include <stdio.h>
    #include <math.h>
    
    double function(int n)
    {
    	if (n <= 0 || n > 100)
        {
    		printf("数据不合法\n");
    		return 0;
    	}
    	int m, k, i;
    	double s = 0.0;
    	for(m = 3; m <= n; m++)
    	{
    		k = sqrt(m);
    		for (i = 2; i<=k; i++)
    		if (m % i==0) break;
    		if (i >= k+1)
    		s += sqrt(m);
    	}
    	return s;
    }
    
    int main() 
    {
    	int n = 0;
    	printf("请输入正整数n, 要求小于100\n");
    	scanf("%d", &n);
    	double sum = function(n);
    	printf("sum is %f\n", sum);
    	return 0;
    }
    

     

     

     

     

     

     

     

     

    5、运行结果

    请输入正整数n, 要求小于100
    5
    sum is 3.968119

     

     

     

     

     

     

     

    展开全文
  • //问题:计算100-200之间的素数 //素数:仅能被1自身整除的数 #include <stdio.h> int main(void){ int i, j, count = 0; for (i = 100; i <= 200; i++){ // i从100 -> 200递增 for (j = 2; j &...

    //问题:计算100-200之间的素数
    //素数:指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。

    思路1: 判断一个整数 i 是否是素数,只需把 i 被 2 ~ i-1 之间的每一个整数去除,如果都不能被整除,那么 i 就是一个素数。

    思路2: i 不必被 2 ~ i-1 之间的每一个整数去除,只需被 2 ~ i\sqrt i 之间的每一个整数去除就可以了。如果 i 不能被 2 ~ i\sqrt i 之间任一整数整除,i 必定是素数。除此我们知道偶数一定不是素数,去除所求范围中的偶数程序运行效率会更加提高。

    9   ->   3*3
    12   ->   2*6 或 3*4
    15    ->  3*5
    16    ->   2*8 或 4*4
    解释:随意列举一些非素数,就会发现这些数的因子(除去1)至少存在一个小于等于其自身开平方(sqrt())

    //思路 1:
    #include <stdio.h>
    
    int main(void){
    	int i, j, count = 0;
    	for (i = 100; i <= 200; i++){ // i 从 100 -> 200递增
    		for (j = 2; j < i; j++){ // 判断 i 能否被 [2,i-1] 之间任一数整除
    			if (i%j == 0) break; // 一旦i能被整除则立即跳出循环
    		}
    		if (j == i) {
    			printf("%d ", i); // 若i为素数,则j最终的结果一定等于 j+1 = i
    			count++; // 计算素数的个数
    		}
    	}
    	printf("共%d个素数\n", count);
    	return 0;
    }
    
    //思路 2:
    #include <stdio.h>
    #include <math.h>
    
    int main(){
    	int i = 101, j, count = 0; //直接从 i = 101开始,注意j为int类型
    	for (; i <= 200; i += 2){ //i += 2,排除[100,200]之间偶数
    		/*取i中间值。也可以使用 i/2 ……
    		  只需要判断在 [3,(int)sqrt(i)] 无法被整数就说明是素数
    		*/
    		for (j = 3; j <= sqrt(i); j++){ 
    			if (i % j == 0) break; //能否被整除
    		}
    		if (j > sqrt(i)) { //sqrt(i)类型为double
    			printf("%d ", i);
    			count++; //计数器
    		}
    	}
    	printf("共%d个素数\n", count);
    	return 0;
    }
    

    提示:本文为我个人学习笔记,皆纯手爪书写,如有错误请指教,转载请注明出处。

    展开全文
  • C语言 素数求和(函数实现)

    千次阅读 2017-11-26 11:52:05
    从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和。判断这个数是否是素数用函数实现。 函数原型:int IsPrime(int x); 函数功能:判断x是否是素数,若函数返回0,则表示不是素数,若返回1,则...
  • C语言素数求和(答案原创)

    千次阅读 2019-03-13 15:48:52
    从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和。 函数原型:int IsPrime(int x); 函数功能:判断x是否是素数,若函数返回0,则表示不是素数,若返回1,则代表是素数 程序运行结果示例1: Input n:8...
  • 例题:下列给定程序中,函数fun的功能是:计算并输出max以内最大的10个素数之和。high由主函数传给fun函数。 例如,若max的值为50,则函数的值为300。 请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线...
  • 1. 斐波那契分数数列的前n项之和 斐波那契分数数列为2+3/2+5/3+8/5+13/8+… #include"stdio.h" //斐波那契分数:下一个分数的分母是前一个分数的分子,分子是前一个分数的分子和分母的和。 void main() { int n,...
  • 例题:请编写函数fun,其功能是:计算并输出3到m之间所有素数的平方根之和。 例如:若主函数从键盘给m输入50后,则输出为s=63.665791。 请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写...
  • 素数的概念为:“一个大于1 的自然数,除了1其自身外,不能被其它任何自然数整除的数” ——本文将对几种求素数的方法进行对比,最终给出一种效率较高的算法,当前仍然停留在使用简单的双重for循环计算素数的小...
  • C语言试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言...
  • C语言】用C语言求3-100之间的素数

    千次阅读 2020-04-09 00:24:40
    问题:求3-100之间素数之和 本题主要是了解素数的概念和括号的位置,当自己代码写完的...//计算3-100之间的素数之和 void main() { int i,j,sum=0; for(i=3;i<=100;i++)//i控制要检测的数是否为素数 { fo...
  • 实训:素数求和(C语言

    千次阅读 2018-05-04 22:11:18
    从键盘任意输入一个整数n,计算并输出1~n的所有素数之和。 要求如下: (1)编写一个fun函数判别某数是否是素数 (2)编写主函数,调用fun函数找出1~n之间的所有素数,求和并输出 思路 设计fun函数,...
  •  //计算并输出3~n之间所有素数的平方根之和。 1 #include 2 #include 3 double fun( int n) 4 { 5 int a = 0 ,b= 0 ; 6 int s[ 100 ]; 7 double sum = 0.0 ; 8 for ( ...
  • C试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的...
  • 请勿改动主函数main其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: include <conio.h> include <stdio.h> include <stdlib.h> define N 5 int fun (int a[] [N]) { } main...
  • 编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列.#includevoidmain(){inti,z,x,y,j;printf("pleaseinputz:");//输入整数scanf("%d",&z);for(i=1;i设计一个C++控制台应用...
  • //计算素数表里元素的个数 1:#define INM_MAX 32767 #define #include一样,是预处理器编译指令,该编译器告诉预处理器,在程序中查找INT_MAX并将所有的INT_MAX替换为32767。#define为C遗产,C+...
  • C语言的科学艺术.pdf

    热门讨论 2012-01-19 14:09:05
    本资源包含《C语言的科学艺术(英文版)》.pdfC语言的科学艺术(中文版)》.pdf两本书,有兴趣的朋友可以进行对照阅读。 《C语言的科学艺术》,原名《The Art and Science of C: A Library-Based Introduction...
  • c语言实验题目

    2014-05-29 17:12:54
    C语言实验考试题目例如:在主函数中读入一个整数k(3),调用函数计算所有素数之和并返回,在主函数中输出。(用指针方式传递参数)
  • 循环结构习题:自然数n的各位数字之和 63%(637/1008) 39% 2020-4-23 1079 循环结构习题:求前n项的和 62%(583/937) 40% 2020-4-23 1080 循环结构习题:输出数字菱形 55%(439/797) 46% 2020-4-23 1081 循环结构习题:...
  • C语言必会例题

    2020-11-23 22:09:28
    个人会发布一系列C语言经典算法类的题目希望能大家交流交流,毕竟规则是死的人是活的,走路的方法一样,但每个人走出来的路不一样,每个题方法不唯一。开始今天例题: 一.打印100~200之间的素数 素数定义:只能...
  • c语言经典案例

    2014-10-30 08:06:57
    实例059 求各位数之和为5的数 75 第6章 数据输入与输出函数 77 实例060 使用字符函数输入/输出字符 78 实例061 输出相对的最小整数 79 实例062 将小写字母转换为大写字母 80 实例063 水池注水问题 80 实例064 用*号...
  • 若不形成回路则将此边加入最小生成树、计算图的传递闭包、无向图的连通分量、拓扑排序,找入度为0的点,删去与其相连的所有边,不断重复这一过程,例寻找一数列,其中任意连续p项之和为正,任意q 项之和为负,若不...
  • 实例20 求数组前n个元素之和   实例21 求解钢材切割的最佳订单   实例22 通过指针比较整数大小   实例23 指向数组的指针   实例24 寻找指定元素的指针   实例25 寻找相同元素的指针   实例...
  • C语言思考题

    2016-11-03 17:29:14
    1、功能:判断一个三位数是否"水仙花数"。在main函数中从键盘输入一个三位...2、功能:计算并输出3到n之间所有素数的平方根之和。  例如:键盘给n输入100后,输出为:sum=148.874270。 3、功能:输出Fibonacci数列中
  • C语言】哥德巴赫猜想

    万次阅读 2016-05-11 21:04:06
    问题:计算得到某一区间内所有符合哥德巴赫猜想的数。背景:哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和

空空如也

空空如也

1 2 3 4 5
收藏数 89
精华内容 35
关键字:

c语言计算素数之和

c语言 订阅