问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++怎么判断一个数是否为素数?

发布网友 发布时间:2022-05-26 19:11

我来回答

1个回答

热心网友 时间:2023-11-06 08:10

在c++语言里,判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数

1、思路一,代码:

#include <stdio.h>

int main(){

int a=0; // 素数的个数

int num=0; // 输入的整数

printf("输入一个整数:");

scanf("%d",&num);

for(int i=2;i<num;i++){if(num%i==0){a++; // 素数个数加1}}

if(a==0){printf("%d是素数。\n", num);}else{printf("%d不是素数。\n", num);}return 0;}

判断方法还可以简化。m不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ 之间的每一个整数去除就可以了。如果m不能被 2 ~ 间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。

2、思路二,代码:

#include <stdio.h>

#include <math.h>

void main(){int m; // 输入的整数 

int i; // 循环次数

int k; // m 的平方根 

printf("输入一个整数:");

scanf("%d",&m);

// 求平方根,注意sqrt()的参数为 double 类型,这里要强制转换m的类型 

k=(int)sqrt( (double)m );

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

if(m%i==0)

break;

// 如果完成所有循环,那么m为素数

// 注意最后一次循环,会执行i++,此时 i=k+1,所以有i>k 

if(i>k)

printf("%d是素数。\n",m);

else

printf("%d不是素数。\n",m);

return 0;}

C++编程语言

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

支持数据封装和数据隐藏

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。

完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。

支持继承和重用

在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。

支持多态性

采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。

多态性的这一特性允许使用高级抽象。

继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。

以上内容参考 百度百科:C++

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
word文档怎么设置页码word怎么从中间开始设置页码 《祖宗模拟器》如何长寿长寿技巧分享 祖宗模拟器答案大全,你知道吗。 祖宗模拟器答案大全,哪位有? 宝石种类分为哪几类? 表格怎么自动排序号excel表格中自动生成序号技巧 表格如何自动排序仅需4步让Excel表格自动排序的方法 1.5匹富士空调电脑板开机就烧保险丝 为什么 修空调只是把拆了个压敏电阻,虽然可以运行,但这样没问题吗? 1.5富士空调电脑板一通电就烧保险丝为什么 c语言编程:输入一个正整数n,判断它是否为素数 遇到一个C语言问题。输入一个整数,判断其是否为素数。 判断一个整数是否素数 判断一个整数是否为素数 判断一个正整数是不是素数 5岁女孩流鼻血什么原因 上海到四川南充有多少公里 请问从苏州开车去上海浦东机场坐飞机回南充要做核酸检测吗? 四川南充到上海有无直达的,车票多少钱,多长时间 四川南充市到上海白鹤镇全程都是高速 四川到上海需要隔离吗?四川南充去上海要不要隔离 南充到上海骑摩托车怎么走 南充到|上海浦东机场停在几号航站楼 现在南充去上海需要核酸检测吗? 今天南充一上海的飞机能准时到达浦东机场吗? 从南充到上海经过哪些城市 近日有南充至上海虹桥机场或浦东机场的航班吗? 入户门正对酒柜有什么讲究吗? 打算11月29从四川南充坐飞机到上海浦东机场,在自驾车回昆山需要做核酸检查吗? 从四川南充到上海浦东机场到达是T1还是T2航站楼 输入一个正整数,判断是否为素数 10w-40机油跟之前的5w40对比是不是动力效果更强? 10w一40机油在噪音消除这块的保护作用比5w40强吗? 中兴f668路由器设置 大众更换10w-40机油在动力提升方面能比5w40强吗? 发动机机油5w40和10w40有什么区别,都是全合成吗? unsigned char _ctype[] 中的0——127 字符 是怎么实现ctype.h中的函数的 C++指针数组的问题 百度提问#include&lt;stdio.h&gt; #include&lt;ctype.h&gt; main() { int num[26]={0},i;char c; while(c=getchar()!=&#39; 在linux下报错&#47;usr&#47;include&#47;ctype.h:48:1: 错误: expected ‘;’, identifier or ‘(’ before ‘enum’ 把大写的字母变成小写的,我的哪里错来了?#include&lt;stdio.h&gt; #include&lt;ctype.h&gt; void main() { char a[10 #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include &quot;string.h&quot; #include &quot;ctype.h&quot; #define ROWS 256 #def 刚买的华为手机,充电时手机热? 刚买的华为nvao6手机充电手机很热,充电器特别烫,这属于正常吗? 如何学好地理学中的气候部分?像季风洋流等等 2015年5,1劳动节怎么放假 2015年放假安排出来了没? 小企业会计准则应收款抹零记什么科目 应收账款抹零的金额可以直接冲主营业务收入吗? 抹零 如何入账