概念解读 : 质数又被称为素数,是指一个大于1的自然数,除了1和它自身外,不能被其它自然数整除,且其个数是无穷的。 思路分析: 对于代码大方向,我们可以直接主函数中写,也可以用可移植性高的自定义函数来写。 100以内样例输出示意 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97后面是大于100的素数,可以修改代码中的循环条件的范围来改变自己的输出 代码内容: 思路一: #include <stdio.h> #include <stdlib.h> int main() { int i ,j; //定义变量循环 printf("打印100以内所有素数:\n"); for(i = 2;i <= 100; i++){ //外循环从2遍历到100,可以修改范围输出不同范围内的素数 for(j = 2;j < i; j++){ //内循环通过大于1小于自身的因数进行依次取余判断,直到相除没有余数,跳出循环。 if(i % j == 0){ break; } } if(j == i){ //这个判断是重点,意思是在前面的条件成立的前提下除数和被除数相等的才为素数,例如12有3×4,但是不相等,例如13只有当i==j是即i==j==13时候才能成立 printf("%d ",i); } } return 0; }代码分析:通过二重循环,外循环从2遍历到100,可以修改范围输出不同范围内的素数,内循环通过大于1小于自身的因数进行依次取余判断,直到相除没有余数,跳出循环。这个判断是重点,意思是在前面的条件成立的前提下除数和被除数相等的才为素数,例如12有3×4,但是不相等,例如13只有当i==j是即i==j==13时候才能成立 。 思路二: #include <stdio.h> #include <stdlib.h> #include <math.h> #include <stdbool.h> bool isprime(int i) //判断是否是素数的自定义函数 { int j; for(j = 2; j < sqrt(i); j++){ //for循环判断如果不是素数则返回0 if(i%j == 0){ //如果在i的平方根范围内的所有数字都不能被整除就说 //明这个数字是素数,但凡有一个能被整除那么这个数字就违背了素数的定义 return 0; } } return 1; //如果是素数则返回1 } int main() { int i ,j; printf("打印100以内所有素数:\n"); for(i = 2;i <= 100; i++){ //for循环遍历一个一个判断,如果是素数那么就打印出来,遍历的数字范围能被修改,输出不同范围的素数 if(isprime(i)){ printf("%d ",i); } } return 0; }代码分析:非素数一定是由两个数字相乘所得,所以另一种思路即为sqrt()函数对除数开平方根,对其开平方根后的数字对于素数来说一定是最大的平方根,一个数字分解为任意两个乘数一定是小于等于其开平方根的数值的,所以我们循环条件只需要小于这个数字的开平方根的数字即可;被除数则小于被判断数字的开方根的数字,最后经过判断,如果在有返回值的即为素数,这种方法可以使用可移植性较高的自定义函数完成。 以上就是我对100以内输出素数的所有见解,如果不同见解可以私信我 # 算法 # c语言
GitCode 开源社区 旨在为数千万中国开发者提供一个无缝且高效的云端环境,欧易交易所以支持学习、使用和贡献开源项目。 加入社区 更多推荐
[转载]在Windows环境下安装GNU Radio 转自:在Windows环境下安装GNURadio_恐弱智_新浪博客GNU Radio是用Python开发的,大部分开源的工程能够在Linux环境下运行良好,而Windows下却运行的很勉强,欧意交易所app官方下载而且安装配置都很复杂。GNU Radio算是个例外了,不光提供了Windows的二进制安装,还有比较详细的说明。我是Python小白,数字货币交易平台所以折腾了好久才弄好,特意记录下来,免得以后再装还折腾。GNU Radio的 GitCode 开源社区
centOS 8 使用dnf安装Docker DNF是什么?CentOS 8使用YUM软件包管理器版本v4.0.4。现在,该版本使用DNF(已删除YUM)。DNF是软件包管理器。它会在Linux发行版上安装,执行更新并删除软件包。使用DNF安装Docker跳过具有损坏依赖性的程序包一个有效的解决方案是使您的CentOS 8系统使用以下--nobest命令安装最符合条件的版本:sudo dnf install docker... GitCode 开源社区
定时同步数据库表(mysql+linux+crontab) sync.sh里面的参数需要改变,ip/username/password/database/tablesync.sh#!/bin/sh# Please change the IP and password of the data source db.# Then change the table name.filename=/home/nington/db/$(date +%Y-%m GitCode 开源社区 (责任编辑:) |