C語言判斷素數,判斷質素演算法
1、判斷一個數是否為質數
思路:質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。所以從2開始進行求餘,在小於自然數本身數字裡沒有一個數字進行求餘數為0的,則證明輸入的自然數是質數,否則非質數
#include <stdio.h>
int main(){
int a,b,i;
b=0;//標記
while (1){
printf("請輸入一個大於1的正整數:");
scanf("%d",&a);
if(a>1) break;
}
for(i=2;i<a;i++){//質數是隻能被自己整除,i<a的時候
if(a%i==0){//當出現i能被a整除,則說明不是質數
b++;//b自增
}
}
if(b==0){//判斷b是否有變化
printf("%d是質數\n",a);
}else {
printf("%d不是質數\n",a);
}
return 0;
}
結果
2、找出一個大於1的自然數中所有的質數並輸出,計算總共多少個
思路:從該自然數開始進行判斷是否為質數,如果是質數則列印,接著自然數在大於1時迴圈做自減,再依次判斷是否為質數,如果是質數則列印,在通過一個變數的自增記錄為質數的個數
#include <stdio.h>
int main(){
int a,b,c,i;
b=0;
scanf("%d",&a);
for(a;a>1;a--){
c=0;
for(i=2;i<=a;i++){
if(a%i==0){
c++;
if(a==i&&c==1){
printf("%d ",a);
b++;
}
}
}
}
printf("\n總共質數為:%d",b);
return 0;
}
結果
S1區間1——72,有素數18個,孿生素數7對。(2和3不計算在內,最後的數是孿中的也算在前面區間。)
3、計算大於2的正整數有哪些素陣列成,如45=3 *3 *5
思路:素數一般指質數。質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。 因此就是把數字拆分成一個個質數數進行相乘,因此需從2開始進行求餘數為0情況,如果餘數為0,則自然數(a)更新為自然數(a)/2的值,進行進行下一輪求餘數為0,餘數不為0,在進行2的自增,繼續求餘為0,直到2變成一個大於自然數(a)的數值在停止求餘為0的判斷。
#include <stdio.h>
int main(){
int a,b;
printf("請輸入大於2的正整數:");
while(1){
scanf("%d",&a);//a是鍵盤輸入的數字
if(a>2) break;
else printf("請輸入大於2的正整數:");
}
b=2;//b初始為2
printf("%d=",a);//列印a=
while(b<=a){//b不能大於a,每次迴圈a的資料或者b的資料會進行更新
if(a%b==0){//當b能被a整除且b不等於0
printf("%d*",b);//列印
a=a/b;//a更新 a=a/b
}else if(a%b==0&&a==b){//b能被a整除,且a=b
printf("%d",b);
a=a/b;//a更新後,a=1,迴圈結束
}else{
b++;//無法整除,b自增
}
}
return 0;
}
結果
相關文章
- Python演算法實現質數(素數)判斷Python演算法
- 一文解決如何使用 C 語言判斷質數(素數)[ 附解析與原始碼 ]原始碼
- 判斷水仙花數C語言C語言
- L1-028 判斷素數 分數 10
- C語言:判斷閏年C語言
- 【c語言】判斷一個數是奇偶數C語言
- 【質數判斷】給定兩個數,判斷這兩個數是否互質?
- 質數判斷、質因子分解、質數篩
- C語言判斷輸入小寫字母的個數C語言
- 組合語言---判斷字元組合語言字元
- JS的判斷語句:判斷、迴圈JS
- 【c語言】判斷一個數是不是2的n次方C語言
- C語言必須掌握的判斷題 | 4C語言
- C語言必須掌握的判斷題 | 10C語言
- C語言學習【3】——判斷與迴圈C語言
- C語言的判斷機器的大小端C語言
- js之普通/高效判斷質數JS
- Python多程式使用佇列共享資料協同判斷素數Python佇列
- JavaScript判斷數字是否是質數JavaScript
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- 判斷語句
- 素數推斷演算法(高效率)演算法
- C語言:判斷一個字串是否為迴文C語言字串
- C語言判斷檔案存在和建立檔案C語言
- 1354: 素數判定(C語言)C語言
- c語言 構造素數表C語言
- 使用SQL判斷一個數是否質數SQL
- 判斷一個數是否為質數(程式碼)
- C語言實驗——素數 (sdut oj)C語言
- Android 判斷當前系統語言Android
- linux if語句內判斷引數Linux
- 求素數(質數)演算法演算法
- C#判斷輸入為數字C#
- C語言用三目運算實現判斷大寫C語言
- 瞭解下C# 判斷C#
- nginx判斷路徑是否含有某個引數做判斷Nginx
- 7-1 素數對猜想(C語言)C語言
- Python 判斷質數的另一種方法Python