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

在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是素数。
", num);}else{printf("%d不是素数。
", 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是素数。
",m);

else

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

return 0;}

C++编程语言

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

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

支持数据封装和数据隐藏

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

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

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

支持继承和重用

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

支持多态性

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

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

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

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



  • 鍒ゆ柇涓涓暟鏄惁涓虹礌鏁癱璇█
    绛旓細鍒ゆ柇涓涓暟鏄惁涓虹礌鏁癱璇█锛濡備笅锛氬垎鏋:鍙兘琚1鍜屽畠鏈韩鏁撮櫎鐨勬暣鏁扮О涓虹礌鏁銆傚湪鏁板涓紝瑕佸垽鏂璶鏄惁涓虹礌鏁,閫氬父璁﹏闄や互2V鐨勬瘡涓涓暣鏁帮紝濡傛灉锛岃兘琚2V鍑犵殑鏌愪釜鏁存暟鏁撮櫎锛屽垯璇存槑锛屼笉鏄礌鏁帮紝鍚﹀垯n涓瀹氭槸绱犳暟銆傛柟娉曚竴:鐢╢or璇璔鍒ゆ柇n鏄惁涓烘暣鏁 鍦ㄨ繖涓唬鐮佷腑锛屾垜浠鍏堝畾涔変簡涓涓悕涓簊prime鐨勫嚱鏁帮紝...
  • c璇█鎬庝箞鍒ゆ柇涓涓暟鏄笉鏄礌鏁?
    绛旓細1銆佺礌鏁扮殑鍒ゆ柇銆鏍规嵁绱犳暟瀹氫箟锛岄櫎浜1鍜屾湰韬笉瀛樺湪鍏跺畠绾︽暟鐨勬鏁存暟涓虹礌鏁銆傛墍浠ュ湪C璇█涓垽鏂璶鏄惁涓虹礌鏁板彲浠ヤ粠2寮濮嬪埌鍒皀-1閫愪竴灏濊瘯锛屽鏋滃彲浠ユ暣闄よ鏄庝笉鏄礌鏁般傛洿杩涗竴姝ワ紝鍙互浠2鍒ゆ柇鍒皀/2鎴栬卬鐨勭畻鏈钩鏂规牴锛屽鏋滀笉瀛樺湪绾︽暟锛岄偅涔堝嵆涓虹礌鏁般傞櫎姝や互澶栵紝鍒ゆ柇绱犳暟鐨勭畻娉曡繕鏈夌礌鏁扮瓫绛夈2銆佸垽鏂礌鏁扮殑...
  • 濡備綍鐢c璇█鍒ゆ柇涓涓暟鏄笉鏄礌鏁
    绛旓細if(i>m) /*鍒ゆ柇i鏄惁澶т簬m*/ printf("%d 鏄礌鏁\n",m); /*杈撳嚭鏄礌鏁*/ else printf("%d 涓嶆槸绱犳暟\n",m); /*杈撳嚭涓嶆槸绱犳暟*/ 5銆佹渶鍚庢垜浠緭鍏涓涓暟鏉ラ獙璇佽繖鏉$▼搴忔槸鍚︽纭
  • 鐢C璇█缂栧啓鍒ゆ柇涓涓暟鏄惁鏄礌鏁鐨勭▼搴
    绛旓細1銆佹墦寮ubuntu骞跺紑鍚涓涓缁堢锛岃緭鍏ュ懡浠im is_prime.c锛屾墦寮缂栬緫椤甸潰锛岃緭鍏ラ澶勭悊鎸囦护#includestdio.h鐢ㄤ簬鍦ㄤ富鍑芥暟涓皟鐢ㄥ垽鏂嚱鏁般傜劧鍚庡畾涔変竴涓嚱鏁癷nt is_prime(int n)锛屽嵆鍒ゆ柇鏁存暟n鏄惁涓虹礌鏁銆2銆侀鍏堬紝鍒ゆ柇杩欎釜鏁版槸鍚灏忎簬2.鑻ユ槸锛屽垯鐩存帴杩斿洖0锛屽嵆琛ㄧず瀹冧笉鏄竴涓礌鏁般3銆佺劧鍚庡畾涔変腑闂寸殑鍥犳暟i锛...
  • c璇█濡備綍鍒ゆ柇涓涓暟鏄笉鏄礌鏁?
    绛旓細1銆侀鍏堥渶瑕佹墦寮vs杞欢宸ョ▼锛屽噯澶囧ソ涓涓┖鐧界殑C璇█鏂囦欢锛屽紩鍏ュご鏂囦欢锛屼富鍑芥暟涓殏鏃舵病鏈夊唴瀹癸細2銆佽繖閲屽紑濮嬬紪鍐欎唬鐮锛岃繖閲屽垽鏂礌鏁伴渶瑕佺敤鍒板钩鏂规牴锛屾墍浠ヨ鍦ㄥご鏂囦欢涓紩鍏ath搴擄紝鐒跺悗缂栧啓鍒ゆ柇绱犳暟鐨勫嚱鏁帮紝鍑芥暟鏈夊敮涓鐨勫弬鏁皀锛屼唬琛ㄧ礌鏁般傚垽鏂殑渚濇嵁鏄礌鏁皀鍙涓嶈兘琚 2 鍒版牴鍙蜂笅n涔 闂翠换涓鏁存暟鏁撮櫎锛屽垯n...
  • c璇█鍒ゆ柇涓涓暟涓虹礌鏁
    绛旓細鏂规硶涓锛鍒ゆ柇涓涓暣鏁m鏄惁鏄礌鏁锛屽彧闇鎶 m 琚 2 ~ m-1 涔嬮棿鐨勬瘡涓涓暣鏁板幓闄わ紝濡傛灉閮戒笉鑳借鏁撮櫎锛岄偅涔 m 灏辨槸涓涓礌鏁般傛柟娉曚簩锛氬彟澶栧垽鏂柟娉曡繕鍙互绠鍖栥俶 涓嶅繀琚 2 ~ m-1 涔嬮棿鐨勬瘡涓涓暣鏁板幓闄わ紝鍙渶琚 2 ~ 涔嬮棿鐨勬瘡涓涓暣鏁板幓闄ゅ氨鍙互浜嗐傚鏋 m 涓嶈兘琚 2 ~ 闂翠换涓鏁存暟...
  • c璇█濡備綍鍒ゆ柇涓涓暣鏁版槸绱犳暟
    绛旓細1銆侀鍏堟墦寮缂栬緫鍣ㄨ蒋浠讹紝鍦ㄩ噷闈㈡柊鐨C璇█鏂囦欢閲屽紩鍏ュご鏂囦欢骞惰緭鍏ヤ富鍑芥暟锛屽湪涓诲嚱鏁颁腑杈撳叆浠g爜锛2銆佺劧鍚庡啓鍏鍒ゆ柇绱犳暟鐨勯昏緫锛岃繖閲屽厛寮曞叆涓涓scanf鍑芥暟锛屾帴鍙楃敤鎴疯緭鍏ョ殑鏁板煎瓨鍏ュ彉閲忥紝瀵规帴鏀剁殑鍙橀噺鍒ゆ柇鍏鏄惁涓虹礌鏁锛屽垽鏂殑渚濇嵁鏄鏋滆兘琚2鍒皀-1涓殑鏌涓暟鏁撮櫎灏辨槸绱犳暟锛屽惁鍒欏氨涓嶆槸銆傛渶鍚庢妸鍒ゆ柇鐨勭粨鏋滄墦鍗...
  • 鐢C璇█濡備綍鍒ゆ柇绱犳暟
    绛旓細鎸夌収濡備笅姝ラ鍗冲彲鐢C璇█鍒ゆ柇绱犳暟锛1銆侀鍏堟墦寮visual C++ 6.0锛岀劧鍚庣偣鍑诲乏涓婅鐨勬枃浠讹紝鍐嶇偣鍑绘柊寤恒2銆佺劧鍚庡湪寮瑰嚭鐨勬柊寤哄璇濇涓偣鍑籆++Source File銆3銆佸湪鏂板缓鐨勬枃浠舵枃鏈涓緭鍏ラ澶勭悊鍛戒护鍜屼富鍑芥暟锛屽嵆鍑芥暟澶村拰绌虹被鍨嬨4銆佺劧鍚庡啀瀹氫箟鍙橀噺骞惰緭鍏涓涓暟瀛锛屽嵆瀹氫箟鍙橀噺鐨勬暟鎹被鍨嬶紝杈撳嚭鏂囧瓧鎻愮ず锛屽啀杈撳叆...
  • 鐢C璇█鍒ゆ柇涓涓暟鏄礌鏁杩樻槸鍚堟暟
    绛旓細鏂规硶涓锛氬垽鏂璶鏄惁鑳借2~n-1闂寸殑鏁存暟闄 鏂规硶浜岋細鍒ゆ柇n鏄惁鑳借2~鈭歯闂寸殑鏁存暟闄 C璇█涓斺斾笁绉嶆柟娉鍒ゆ柇鏄鍋舵暟杩樻槸濂囨暟 寮澶翠唬鐮侊細include <stdio.h> int main(int argc, const char * argv[]){int a;printf("璇疯緭鍏涓涓暟:");scanf("%d",&a);鏂规硶涓锛氭眰浣 if (a%2) { printf...
  • c璇█缂栫▼鍒ゆ柇n鏄惁涓虹礌鏁
    绛旓細c璇█缂栫▼鍒ゆ柇n鏄惁涓虹礌鏁锛1銆佽緭鍏锛2銆佷护i=2锛沠=0锛3銆佸鏋渇=0骞朵笖i銆C璇█鏄竴闂ㄩ潰鍚戣繃绋嬬殑銆佹娊璞″寲鐨勯氱敤绋嬪簭璁捐璇█锛屽箍娉涘簲鐢ㄤ簬搴曞眰寮鍙戙侰璇█鑳戒互绠鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒銆侰璇█鏄粎浜х敓灏戦噺鐨勬満鍣ㄨ瑷浠ュ強涓嶉渶瑕佷换浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑楂樻晥鐜囩▼搴忚璁¤瑷銆
  • 扩展阅读:c++中<< ... 学c好还是c++好 ... python和c++学哪个好 ... c++和java哪个好就业 ... c++教程 ... 学c#有前途吗 ... c++与c#学哪个好 ... c++三个数求最大 ... c#判断是否为数字 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网