用C语言如何判断素数 C语言中素数的判断方法

\u5982\u4f55\u7528c\u8bed\u8a00\u7f16\u7a0b\u5224\u65ad\u4e00\u4e2a\u6570\u662f\u4e0d\u662f\u7d20\u6570\uff1f

\u65b9\u6cd5\u4e00\uff1a
\uff03include\uff1cstdio\uff0eh\uff1e
int main\uff08\uff09\uff5b
int i\uff0cj\uff1b
printf\uff08\uff02\u8bf7\u8f93\u5165\u4e00\u4e2a\u6b63\u6574\u6570\u3002\uff3cn\uff02\uff09\uff1b
scanf\uff08\uff02\uff05d\uff02\uff0c\uff06i\uff09\uff1b
if\uff08i\uff1c2\uff09
printf\uff08\uff02\u5c0f\u4e8e2\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165\u3002\uff3cn\uff02\uff09\uff1b
elseif\uff08i\uff052\uff1d\uff1d0\uff09
printf\uff08\uff02\uff05d\u4e0d\u662f\u4e00\u4e2a\u7d20\u6570\u3002\uff3cn\uff02\uff0ci\uff09\uff1b
else\uff5b
for\uff08j\uff1d2\uff1bj\uff1c\uff1di\uff0f2\uff1bj\uff0b\uff0b\uff09\uff5b
if\uff08i\uff05j\uff1d\uff1d0\uff09\uff5b
printf\uff08\uff02\uff05d\u4e0d\u662f\u4e00\u4e2a\u7d20\u6570\u3002\uff3cn\uff02\uff0ci\uff09\uff1b
break\uff1b
\uff5d
if\uff08j\uff1ei\uff0f2\uff09\uff5b
printf\uff08\uff02\uff05d\u662f\u4e00\u4e2a\u7d20\u6570\u3002\uff3cn\uff02\uff0ci\uff09\uff1b
break\uff1b
\uff5d
\uff5d
\uff5d
\uff5d
\u65b9\u6cd5\u4e8c\uff1a
\uff03include\uff1cstdio\uff0eh\uff1e
int main\uff08\uff09\uff5b
int a\uff1d0\uff1b
int num\uff1d0\uff1b
scanf\uff08\uff02\uff05d\uff02\uff0c\uff06num\uff09\uff1b
for\uff08inti\uff1d2\uff1bi\uff1cnum\uff0d1\uff1bi\uff0b\uff0b\uff09\uff5b
if\uff08num\uff05i\uff1d\uff1d0\uff09\uff5b
a\uff0b\uff0b\uff1b
\uff5d
\uff5d
if\uff08a\uff1d\uff1d0\uff09\uff5b
printf\uff08\uff02YES\uff3cn\uff02\uff09\uff1b
\uff5delse\uff5b
printf\uff08\uff02NO\uff3cn\uff02\uff09\uff1b
\uff5d
\uff5d

\u65b9\u6cd5\u4e09\uff1a
\uff03include\uff02stdio\uff0eh\uff02
int main\uff08\uff09\uff5b
printf\uff08\uff02\uff3ct\uff3ct\uff3ct\uff3ct\uff3cthelloworld\uff3cn\uff02\uff09\uff1b
int a\uff0ci\uff1b
do\uff5b
printf\uff08\uff02inputnumberjudgeprimenumber\uff1a\uff3cn\uff02\uff09\uff1b
scanf\uff08\uff02\uff05d\uff02\uff0c\uff06a\uff09\uff1b
for\uff08i\uff1d2\uff1bi\uff1ca\uff1bi\uff0b\uff0b\uff09
if\uff08a\uff05i\uff1d\uff1d0\uff09break\uff1b
if\uff08i\uff1d\uff1da\uff09
printf\uff08\uff02\uff05d\u662f\u7d20\u6570\uff3cn\uff02\uff0ca\uff09\uff1b
else
printf\uff08\uff02\uff05d\u4e0d\u662f\u7d20\u6570\uff3cn\uff02\uff0ca\uff09\uff1b
\uff5dwhile\uff08a\uff01\uff1d0\uff09\uff1b
\uff5d

\u4ecb\u7ecd\u4e09\u79cd\u4f7f\u7528C\u8bed\u8a00\u6765\u5224\u65ad\u7d20\u6570\u7684\u65b9\u6cd5\uff0c\u4ee5\u53ca\u7528\u505a\u7d20\u6570\u8868\u6765\u5224\u65ad\u627e\u7d20\u6570\u7684\u65b9\u6cd5\u3002

按照如下步骤即可用C语言判断素数:

1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。

2、然后在弹出的新建对话框中点击C++Source File。

3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。

4、然后再定义变量并输入一个数字,即定义变量的数据类型,输出文字提示,再输入一个数字。

5、然后用for函数和if函数判断是否是素数。

6、点击确定后即可成功创建刚刚新建的程序,随机输入一个数字即可验证一下刚刚创建的C语言。



材料/工具:visual C++ 6.0

1、打开visual C++ 6.0-文件

2、点击新建-文件-C++ Source File

3、输入预处理命令和主函数:

#include<stdio.h>       /*函数头:输入输出头文件*/

void main()             /*空类型:主函数*/

4、定义变量并输入一个数字:

int m,i;                    /*定义变量的数据类型为整型*/

printf("输入一个数:");     /*输出文字提示*/

scanf("%d",&m);             /*输入一个数字*/

5、用for函数和if函数判断是否是素数:

for(i=2;i<=m;i++)           /*用for函数重复下面步骤*/

if(m%i==0)              /*判断输入的数是否能被除1和本身以外的数整除*/

break;

if(i>m)                 /*判断i是否大于m*/

printf("%d 是素数
",m);       /*输出是素数*/

else

printf("%d 不是素数
",m);     /*输出不是素数*/

6、完整的源代码:

#include<stdio.h>               /*函数头:输入输出头文件*/

void main()                     /*空类型:主函数*/

{

int m,i;                    /*定义变量的数据类型为整型*/

printf("输入一个数:");     /*输出文字提示*/

scanf("%d",&m);             /*输入一个数字*/

for(i=2;i<=m;i++)           /*用for函数重复下面步骤*/

if(m%i==0)              /*判断输入的数是否能被除1和本身以外的数整除*/

break;

if(i>m)                 /*判断i是否大于m*/

printf("%d 是素数
",m);       /*输出是素数*/

else

printf("%d 不是素数
",m);     /*输出不是素数*/

}



介绍三种使用C语言来判断素数的方法,以及用做素数表来判断找素数的方法。



判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。



所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数
另外判断方法还可以简化。m不必呗2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了。如果m不能被2~√m间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。(原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m。例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可)
#include<stdio.h>
#include<math.h>
void main()
{
int m,i,k;
printf("请输入一个整数:");
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>k)
printf("%d 是素数。\n",m);
else
printf("%d 不是素数。\n",m);
}

  • 鐢╟璇█缂栫▼鍒ゆ柇涓涓嚜鐒舵暟鏄笉鏄绱犳暟銆
    绛旓細C璇█绋嬪簭濡備笅锛歩nclude<stdio.h> int main(){ int i,j,k=0;for(i=2;i<10000;i++){ for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){ printf("%d ",i);k++;if(k%5==0)printf("\n");} } }
  • 鐢–璇█鎬庝箞鍒ゆ柇鏄笉鏄绱犳暟?
    绛旓細鍑芥暟鏈夊敮涓鐨勫弬鏁皀锛屼唬琛ㄧ礌鏁般傚垽鏂殑渚濇嵁鏄礌鏁皀鍙涓嶈兘琚 2 鍒版牴鍙蜂笅n涔 闂翠换涓鏁存暟鏁撮櫎锛屽垯n蹇呭畾鏄礌鏁帮紝鏈鍚庡湪涓诲嚱鏁颁腑璋冪敤鍒ゆ柇绱犳暟鐨勫嚱鏁板嵆鍙細3銆佹渶鍚庯紝缂栬瘧杩愯绋嬪簭锛屽湪寮瑰嚭鐨勫懡浠よ涓緭鍏17杩欎釜绱犳暟锛岀▼搴忕殑鎵撳嵃缁撴灉鏄17鏄礌鏁帮紝璇佹槑浜嗙▼搴忕殑姝g‘鎬с備互涓婂氨鏄鐢–璇█鍒ゆ柇绱犳暟鐨勬祦绋嬶細
  • 鐢–璇█ 浠庨敭鐩樹笂浠绘剰杈撳叆涓涓鏁存暟,鍒ゆ柇鏄惁涓绱犳暟銆
    绛旓細include<stdio.h> include<math.h> int shu(long unsigned num) //鍒ゆ柇涓涓粰瀹氱殑鏁皀um鏄笉鏄绱犳暟 //鏄繑鍥1,鍚﹀垯杩斿洖0 { int t,i;t=sqrt(num)+1;for(i=2;i<t;i++){ if(num%i==0)break;} if(i==t)return 1;return 0;} int main(){ int n;printf("璇疯緭鍏ヤ换鎰忎竴涓鏁存暟...
  • c璇█濡備綍鎵惧嚭涓涓暣鏁版槸涓嶆槸绱犳暟銆
    绛旓細婧愪唬鐮佸涓嬶細include <stdio.h> include <math.h> void main(){ int n=0, i, j,w,k;for(i=2;i<=1000; i++){ w=1;k=sqrt(i);for (j=2; j<=k; j++)if (i%j==0) {w=0;break;} if (w) { ++n;if (n%10==0) printf("%d\n",i);else printf("%d\t",i);...
  • C璇█鍒ゆ柇绱犳暟
    绛旓細1锛岄鍏堜簡瑙绱犳暟鐨勫畾涔夛紝涓涓ぇ浜1鐨勮嚜鐒舵暟锛岄櫎浜1鍜屽畠鏈韩澶栵紝涓嶈兘琚叾浠栬嚜鐒舵暟鏁撮櫎銆2锛屼互涓嬫槸C璇█绋嬪簭銆俰nclude "stdio.h"int main(){int n,flag=1,i;scanf("%d",&n);//杈撳叆涓涓暟n锛鍒ゆ柇瀹冩槸鍚︽槸绱犳暟銆 for(i=2;i<n;i++) {if(n%i==0)// 鏍规嵁绱犳暟鐨勫畾涔塶渚濇闄や互灏忎簬瀹冩湰韬...
  • 鐢╟璇█缂栧啓涓涓▼搴,鍒ゆ柇杈撳叆鐨勬暟鏄惁鏄绱犳暟(璐ㄦ暟)銆
    绛旓細include <stdio.h> include <math.h> int main(){ int i,j,n,flag;int num;/* 鍒ゆ柇杈撳叆鐨勬暟鏄惁鏄绱犳暟 */ printf("璇疯緭鍏ヤ竴涓鏁存暟锛");scanf("%d", &num);for(i=2,flag=1; i<=(int)sqrt(num);i++){ if(num % i ==0){ flag=0;break;} } if(flag==1)printf("%d ...
  • 绱犳暟鐨鍒ゆ柇鏂规硶c璇█
    绛旓細绱犳暟鐨鍒ゆ柇鏂规硶锛氱礌鏁板嵆璐ㄦ暟锛屽湪鎵嬪ご涓婃病鏈夎川鏁拌〃鐨勬儏鍐典笅锛屽彲浠ョ敤璇曢櫎娉曟潵鍒ゆ柇涓涓嚜鐒舵暟鏄笉鏄川鏁般備緥濡傚垽鏂143銆179鏄笉鏄川鏁帮紝灏卞彲浠ユ寜浠庡皬鍒板ぇ鐨勯『搴忕敤2銆3銆5銆7銆11鈥︹︾瓑璐ㄦ暟鍘昏瘯闄ゃ備竴鑸儏鍐典笅鐢20浠ュ唴鐨2銆3銆5銆7銆11銆13銆17銆19杩8涓川鏁板幓闄ゅ氨鍙互浜嗐傜礌鏁板垎甯冭寰 浠36N锛圢...
  • 濡備綍缂栧啓涓涓C璇█绋嬪簭鍒ゆ柇涓涓暟鏄惁鏄绱犳暟?
    绛旓細\n", num);}else{printf("%d涓嶆槸绱犳暟銆俓n", num);}return 0;} 鎬濊矾2锛氬彟澶鍒ゆ柇鏂规硶杩樺彲浠ョ畝鍖栥俶涓嶅繀琚 2 ~ m-1 涔嬮棿鐨勬瘡涓涓暣鏁板幓闄わ紝鍙渶琚 2 ~ 涔嬮棿鐨勬瘡涓涓暣鏁板幓闄ゅ氨鍙互浜嗐傚鏋渕涓嶈兘琚 2 ~ 闂翠换涓鏁存暟鏁撮櫎锛宮蹇呭畾鏄礌鏁般備緥濡鍒ゅ埆17鏄槸鍚︿负绱犳暟锛屽彧闇浣17琚2~4涔嬮棿鐨勬瘡...
  • C璇█浣滀笟:浣跨敤瀛愬嚱鏁,鍒ゆ柇涓涓暟鏄笉鏄绱犳暟,濡傛灉涓嶆槸,杈撳嚭鍏剁礌鏁板洜瀛...
    绛旓細isPrime(int x){ int i;if(x<=1)return 0;for(i=2;i<x;++i)if(x%i==0)return 0;return 1;} int main( ){ int n;scanf("%d",&n);if(n<=0){ printf("error");return 0;} if(isPrime(n))printf("娌℃湁鍥犲瓙锛屾槸绱犳暟");else{ printf("%d=",n);decompose(n);} } ...
  • 鐢–璇█,鍒ゆ柇1-100涔嬮棿鏈夊灏戜釜绱犳暟,骞惰緭鍑烘墍鏈夌礌鏁般
    绛旓細鍙互浣跨敤绛涙硶鏉鍒ゆ柇 1-100 涔嬮棿鏈夊灏戜釜绱犳暟锛屽苟杈撳嚭鎵鏈夌礌鏁般傜瓫娉曟槸涓绉嶉氳繃鏋氫妇鍚堟暟鐨勫洜瀛愭潵绛涢夊嚭绱犳暟鐨勬柟娉曘備笅闈㈡槸鐢 C 璇█瀹炵幇鐨勪唬鐮佺ず渚嬶細include <stdio.h>#include <stdbool.h> define N 100 int main(void){ // 鍒涘缓涓涓 bool 绫诲瀷鐨勬暟缁勶紝鐢ㄦ潵瀛樺偍姣忎釜鏁版槸鍚︿负绱犳暟bool prime[N + ...
  • 扩展阅读:c语言求1~100所有素数 ... c语言求100到200素数 ... c++编程求判断素数 ... 素数判断1-100c语言程序 ... 判断素数的c语言代码 ... 如何用代码判断素数 ... c语言题目判断素数 ... c语言编程判断素数 ... 判断素数的5种方法c语言 ...

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