素數函數c語言
1. c語言素數函數
#include <iostream>
#include <math.h>
using namespace std;
bool isprime( int n)
{
int end=(int)sqrt(n);
for(long int i=2;i*i<=n;i++)
{
if(n%i==0)
return false;
}
return true;
}
void main()
{
int n=0;
for( int i=1;i<1000;i++)
{
if(isprime(i))
{
cout<<i<<" ";
n++;
}
if(n==5)
{
cout<<endl;n=0;
}
}
}
上面的函數可以輸出。
主要是判斷是否為素數。
2. c語言函數求素數
#include<stdio.h>
#include<math.h>
void main()
{
int input_x,result;
printf("Please enter a INT number: ");
scanf("%d",&input_x);
result = prime_number(input_x);
printf("%d, ",input_x);
if(result)
{
printf("It is a prime number");
}
else
{
printf("It is 'not' a prime number");
}
}
prime_number(num)
{
int a,i,temp;
temp = 0;
a=sqrt(num);
for(i=2;i<=a;i++)
{
if(num%i==0)
{
temp = 1;
break;
}
}
if(temp == 0)
return 1;
return 0;
}
3. 用C語言的編程:利用調用函數,判斷一個數是否是素數。
1、首先需要打開vs軟體工程,准備好一個空白的C語言文件,引入頭文件,主函數中暫時沒有內容:
4. c語言編寫函數判斷素數
/判斷是不是素數
#include<stdio.h>
int prime(int a);//函數聲明
int main()
{
int n,i;
scanf("%d",&n);
if(prime(n)==1) //return返回值1
printf("prime");
else
printf("not prime") ;
}
int prime(int a)
{
int i;
for(i=2;i<a;i++)
if(a%i==0)
return 0;//a%i==0不成立
else
return 1;//a%i==0成立
}
(4)素數函數c語言擴展閱讀:
素數的演算法
1、素數:除了1和本身外無法被其他自然數整除的數,叫做素數,也稱質數,如:2,3,5,7一系列。
2、合數:比1大但不是素數的數稱為合數,如:8,9,10一系列。
3、特殊的數字:1和0既不是素數也不是合數。
4、演算法: 1>確定性演算法 2>隨機性演算法 3>Eratosthenes演算法。
5. C語言 素數 函數調用
素數:
質數又稱素數,有無限個。一個大於1的自然數,除了1和它本身外,不能被其他自然數(質數)整除,換句話說就是該數除了1和它本身以外不再有其他的因數;否則稱為合數。
根據算術基本定理,每一個比1大的整數,要麼本身是一個質數,要麼可以寫成一系列質數的乘積;而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形式是唯一的。最小的質數是2。
基本判斷思路:
在一般領域,對正整數n,如果用2到
之間的所有整數去除,均無法整除,則n為質數。
Python 代碼:
def is_prime(n):
list_num = []
for i in range(2, n):
for num in range(2, int(sqrt(n))+1):
if i % num == 0 and i != num:
break
elif i % num != 0 and num == (int(sqrt(n))):
list_num.append(i)
return list_num
Java代碼:
public static boolean isPrime(long n) {
if (n <= 3) {
return n > 1;
}
if (n % 2 == 0 || n % 3 == 0) {
return false;
}
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
Php代碼:
function isPrime($n) {//TurkHackTeam AVP proction
if ($n <= 3) {
return $n > 1;
} else if ($n % 2 === 0 || $n % 3 === 0) {
return false;
} else {
for ($i = 5; $i * $i <= $n; $i += 6) {
if ($n % $i === 0 || $n % ($i + 2) === 0) {
return false;
}
}
return true;
}
}
C/C++代碼:
bool isPrime(unsigned long n) {
if (n <= 3) {
return n > 1;
} else if (n % 2 == 0 || n % 3 == 0) {
return false;
} else {
for (unsigned short i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
}
6. 在c語言中如何表示素數
1、先打開visualc++6.0,然後單擊左上角的文件,然後單擊新建。
7. C語言函數判斷素數
#include<stdio.h>
#include<math.h>
intjugde(intx)
{
inti;
if(x<2)
return0;
for(i=2;i<=sqrt(x);++i)
if(x%i==0)
return0;
return1;
}
intmain()
{
inti;
for(i=101;i<1000;i+=2)
if(jugde(i)==1)
printf("%d",i);
return0;
}
8. 用C語言如何判斷素數
素數又稱質數,所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2~16 的任一整數整除。
思路1、判斷一個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那麼 m 就是一個素數。
思路2、判斷方法還可以簡化。
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之間有無因子即可。
兩種思路的代碼請看解析。
拓展資料:
素數(prime number)又稱質數,有無限個。素數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
網路——C語言
9. 用c語言編程序,用函數求素數,調用函數
#include<stdio.h>
#include<math.h>
//判斷是否為素數的函數
intisPrime(intn)
{
inti=2;
while(i<=(int)sqrt(n))
{
if(n%i==0)
return0;//不是素數,直接返回0
else
i++;
}
return1;
}
intmain()
{
intn,i;
printf("輸入一個正整數:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(isPrime(i))//調用函數,如果該數為素數,則輸出
printf("%d",i);
}
printf(" ");
return0;
}
示例運行結果:
輸入一個正整數: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47