素数的概念:素数也叫质数,是一种只能被自己本身和1整除的数并且大于1,当然0与1不是素数。

1.判断单个数是否为素数(多组输入)

我的思路是,首先输入一个数,利用素数的概念来判断是非为素数,是的话输出素数;否则不输出。

关于素数的判断首先我们吧输入的数当初被除数,我选择用一个for循环来实现,从2开始当除数,每轮加1,一直循环去除被除数,一直除到被除数减一那个数,要是期间能被一个数整除则跳出循环不为素数,要是一直没有被整除则输出这个素数。

#include<stdio.h>
int main()
{int a=0, j;while (scanf_s("%d", &a) != EOF){int flag = 1;for (j = 2; j < a; j++){if (a % j == 0){flag = 0;break;}}       if (flag == 1 && a != 0 && a != 1)//0与1不是素数printf("%d为素数。\n", a);elseprintf("%d不是素数。\n", a);}return 0;
}

这里我选择引用一个局部变量flag来当作判断是否为素数的标志,刚刚开始赋值为1,假如被整除了就变为0,最后直接判断flag的值,1为素数;否则不是。

最后代码运行

 2.输入范围输出范围内的素数

这个算是上一个例子的高阶版,这个题的我们得解决两个问题:①把这个范围的数全都进行输出②判断输出的数是否为素数,是的话输出否则不输出。

关于问题一我选择用一个for循环来不断输出这个数进行比较,因为输入的是一个范围必定有最大值和最小值,我们可以以最小值为起始数开始循环输出,每次加1,直到加到最大值停止输出。

第二个问题就利用上面例子的思路就可以,把他包括到第一个for循环里面。

代码如下

#include<stdio.h>//输入一个范围,求嘞个范围里面的素数
int main()
{int m, n;scanf_s("%d %d", &m, &n);//输入一个范围,m为最小值,n为最大值for (int i = m; i < n + 1; i++){int flag = 1;for (int k = 2; k < i ; k++){if (i % k == 0){flag = 0;break;}}if (flag == 1 && i != 0 && i != 1)printf("%d ", i);}return 0;
}

最后代码运行

 成功运行

3.总结

对于这个代码我感觉唯一的难点在于对于break的理解,还有素数的概念,还有对于0与1不是素数的判断上。

关于0与1不是素数我运用了相对暴力的做法,我选择在最后flag的判断里面加入对输入的值的判断,只有他不等于0或者1时才为素数否则不是。

判断数是否为素数与素数输出相关推荐

  1. Java基础算法题(01):判断101-200之间有多少个素数,并输出所有素数。 素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。

    查看所有50道基础算法题请看: Java的50道基础算法题 import java.util.ArrayList; import java.util.List; public class Detect ...

  2. 判断101-200之间有多少个素数,并输出所有素数(C)

    /* *题目:判断101-200之间有多少个素数,并输出所有素数. * *程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果 *能被整除,则表明此数不是素数,反之是素数. */ # ...

  3. python素数判断代码_Python 判断101-200之间有多少个素数,并输出所有素数

    时间:2018-10-17 概述:判断素数 Python 判断并输出素数,判断101-200之间有多少个素数,并输出,判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不 ...

  4. java中判断 101-200 之间有多少个素数,并输出所有的素数

    题目:判断 101-200 之间有多少个素数,并输出所有的素数 素数是什么: 质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数. 那么题目的答案如下: ...

  5. c语言学习-判断101-200之间有多少个素数,并输出所有素数及素数的个数

    判断101-200之间有多少个素数,并输出所有素数及素数的个数 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数 程序流程图: 代码: # ...

  6. 萌新的Python练习菜鸟100例(十二)判断101-200之间有多少个素数,并输出所有素数

    题目: 判断101-200之间有多少个素数,并输出所有素数 分析: 质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数 · 先用for i in 遍历101-200 ...

  7. 既是回文数又是质数c语言,素数回文——输出两整数之间所有既是回文数又是素数的数 C++实现...

    问题分析与算法设计 所谓回文素数是指,对一个整数n从左向右和从由向左读其结果值相同且是素数,即称n为回文素数.所以本题的重点不是判断素数的方法,而是求回文整数.构造回文数的方法很多,这里仅介绍一种最简 ...

  8. 判断101-200之间有多少个素数,并输出所有素数。

    1.代码如下: // test.cpp : Defines the entry point for the console application. // /* 判断101-200之间有多少个素数,并 ...

  9. Java判断100到200之间所有的素数,并且输出这些素数

    Java判断100到200之间所有的素数,并且输出这些素数 package p3;public class prime {public static void main(String[] args){ ...

  10. java 判断一个数字是否是素数。 素数,质数, 只能被1和自身整除的数。

    import java.util.Scanner;/*** * 判断一个数字是否是素数. 素数,质数, 只能被1和自身整除的数.* **/ public class Demo0{public stat ...

最新文章

  1. org.springframework.data.redis 一次连接获取特定key所有k-v(pipeline)
  2. [译]怎样用VisualStudio查看非托管代码
  3. 给图像特征提取开个“ViP”是什么效果?字节牛津提出视觉解析器,全面超越HaloNet!...
  4. SAP RETAIL物料组的分配规则
  5. tushare 金融数据获取(R语言版)
  6. 希捷撤离 硬盘的那些风花雪月记忆
  7. kettle 遇到 解决Incorrect integer value: '' for column 'id' at row 1 完美解决-费元星
  8. dao模式和前端控制器结合使用_前端技术及开发模式的演进,带你了解前端技术的前世今生...
  9. java 正则 栈溢出_关于Java正则引起的StackOverFlowError问题以及解决方案 | 学步园...
  10. 趣图:产品还没测试直接投入生产时
  11. PAT乙级(1008 数组元素循环右移问题)
  12. oracle静默安装访问数据库慢,Oracle数据库静默安装总结
  13. Windows Phone 7 自定义弹出窗口
  14. 【时间统计】windows/linux 获取本地时间(精确到微妙)
  15. Element-UI中Select选择器讲解(el-select详解)
  16. Win10卸载edge浏览器与后悔重装
  17. 学术论文投稿第五弹——如何写Discussion
  18. 下载模板引擎art-template时出现的问题及解决方案
  19. 【谈天说地】巴洛克建筑
  20. APP推广实战技能—— iOS100字符关键词覆盖!

热门文章

  1. 中国手机企业努力一年,不如苹果一周,后者在5G手机市场完胜
  2. [面试系列]富途前端社招面试
  3. Kali使用Metasploit内、外网渗透windows系统
  4. android 瀑布流 的实现
  5. 5G网络与5G WiFi有什么区别
  6. [翻译Pytorch教程]NLP从零开始:使用序列到序列网络和注意力机制进行翻译
  7. 微信H5公众号获取openid爬坑记
  8. HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移
  9. 前端处理后端返回的excel文件流并下载
  10. Floating-Point overflow and underflow