素數c語言
❶ 求"求素數的c語言程序"
#include <stdio.h>
int main()
{
int a=0;
int num=0;
int i;
printf("輸入一個整數:");
scanf("%d",&num);
for(i=2;i<num;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("%d是素數。 ", num);
}else{
printf("%d不是素數。 ", num);
}
return 0;
}
(1)素數c語言擴展閱讀:
質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。
基本演算法:若 k%m==0 則說明 k 不是素數。
判斷整數n是否為素數——採用枚舉法求解。
採用枚舉演算法解題的基本思路:
(1)確定枚舉對象、枚舉范圍和判定條件;
(2)枚舉可能的解,驗證是否是問題的解。
枚舉演算法的一般結構:while循環。
參考資料來源:網路-枚舉法
❷ c語言素數
#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;
}
輸入一個數,自動進行判斷
❸ C語言素數怎麼表示
#include<stdio.h>
#include<math.h>
intmain()
{
intx,i,j=0,k;
for(x=101;x<=200;x++)
{
for(i=2,k=0;i<=sqrt(x);i++)
if(x%i==0)
{
k++;
break;
}
if(k==0)
{
printf("%d",x);
j++;
}
}
printf(" 100到200之間有%d個素數 ",j);
}
(3)素數c語言擴展閱讀
100->200之間的素數的個數,以及所有的素數
#include<stdio.h>
#include<math.h>
intmain()
{
inta,m,k,i;
a=0;
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
}
printf("%d ",a);
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
if(k>=i)
printf("%d",i);
}
printf(" ");
return0;
}
❹ C語言求素數代碼
方法有2個:
1、判斷n是否能被2~√n間的整數整除
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
double k;
scanf("%d", &n);
k = sqrt(n);
for (i = 2; i <= k;i++)
{
if (n%i == 0) break;
}
if (i <=k) printf("This is not a prime.");
else printf("This is a prime");
return 0;
}
(4)素數c語言擴展閱讀:
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
判斷語句(選擇結構):
if 語句:「如果」語句;if—else 語句:「若…(則)…否則…」語句;switch 語句:「切換」語句;switch—case:「切換—情況」語句。
循環語句(循環結構):
while 語句:「當…」語句;do—while 語句:「做…當…(時候)」語句;for 語句:條件語句(即「(做)…為了…」語句)。
跳轉語句(循環結構:是否循環):
goto 語句:「轉舵」語句,也稱「跳轉」語句;break 語句:「中斷」(循環)語句,即結束整個循環;continue 語句:「繼續」語句(結束本次循環,繼續下一次循環);return 語句:「返回」語句。
需要說明的是:
1、一個C語言源程序可以由一個或多個源文件組成。
2、每個源文件可由一個或多個函數組成。
3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。
4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。
5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。(結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。)
6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
書寫規則
1、一個說明或一個語句佔一行。
2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
❺ 用C語言如何判斷素數
按照如下步驟即可用C語言判斷素數:
1、首先打開visual C++ 6.0,然後點擊左上角的文件,再點擊新建。
❻ C語言如何求素數
若x不是素數,
則
x=a*b,
我們可以要求
a<=b,
於是
a*a
<=
a*b,
也就是
a*a
<=
x
所以
a
<=
根號x.
如果在
for(a=2;
a*a<=x;
a++)
之內都找不到可以整除x的a
(也就是滿足
x%a==0
的a)
x就必定是素數了.
如果在
for(a=2;
a<=x;
a++)
之內找當然也可以,
只是浪費時間而已.
❼ c語言求素數的演算法
根據素數的性質,代碼設計如下:
設計一:判斷n是否能被1~n-1整除,不能整除為素數
#include<stdio.h>
int main()
{
int i, n;
scanf("%d", &n);
for (i = 2; i < n ; i++)
{
if (n%i == 0)
break;
}
if (i < n) printf("This is not a prime.");
else printf("This is a prime.");
return 0;
}
設計二:判斷n是否能被2~√n間的整數整除,不能整除為素數
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
double k;
scanf("%d", &n);
k = sqrt(n);
for (i = 2; i <= k;i++)
{
if (n%i == 0) break;
}
if (i <=k) printf("This is not a prime.");
else printf("This is a prime");
return 0;
}
(7)素數c語言擴展閱讀:
1.素數的定義是只能被1和他本身整除,1不是素數.因此要判斷一個數是否為素數.就要判斷它能不能被比他小的所有素數整除,這是一個演算法.(寫到演算法時,我只能寫出用它除以比他小的所有數,造成運算速度低下)
2.如果一個質數大於根號n,而n可以除盡它,那麼n必然也可以除盡一個更小的質數。由此可以得到一個法2較快的素數判斷演算法
❽ 在c語言中如何表示素數
1、先打開visualc++6.0,然後單擊左上角的文件,然後單擊新建。
❾ 如何求C語言素數
如果一個數是素數,只要判斷他是否能被2到這個數的開方之間的數整除就行了。
int flag=0;
if(m==2){ //先判斷是不是2
flag=1;
}
else{
for(int i=2;i<=sqrt(m);i++){
flag=1;
if(m%i==0){ //不是素數
flag=0;
break;
}
}
}
return (flag==1)?m:-1; //判斷是否為1,為1輸出m,否則輸出-1 ,-1表示不是素數
如果是求某個范圍的素數,可以連續調用這個方法,上面是常規的方法,還有更好的方法自己去查一下。