A. 輸入一個數,用C語言編程判斷這個數是是否是質數。 我是初學者,請用較簡單的程序
#include<stdio.h>
void main()
{
int i,flag=0;
printf("請輸入一個數:");
scanf("%d",&i);
for(int j=2;j<i;j++)
{
if(i%j == 0)
{
flag = 1;
printf("%d不是質數\n",i);
break;
}
}
if(flag == 0)
printf("%d是質數\n",i);
}
B. 什麼是質數VB函數,判斷是否為質數
質數又稱素數。指在一個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。換句話說,只有兩個正因數(1和自己)的自然數即為素數。比1大但不是素數的數稱為合數。1和0既非素數也非合數。素數在數論中有著很重要的地位。 最小的素數是2, 它也是唯一的偶素數。 最前面的素數依次排列為:2,3,5,7,11,13,17,...... 不是質數且大於1的正整數稱為合數。 質數表上的質數請見素數表。 依據定義得公式: 設A=n2+b=(n-x)(n+y),除n-x=1以外無正整數。故有: y=(b+nx)/(n-x) (x<N-1)無正整數,則A為素數。 因為x<N-1,而且N-X必為奇數,所以計算量比常規少很多。 詳見互動網路素數分布和不定方程 100以內的質數(素數):2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97 (共25個) VB 編程如下: Function F(ByVal n As Integer) As Boolean Dim i As Integer Dim s As Boolean If n <= 1 Then F= False Exit Function End If If n = 2 Then F= True Exit Function End If For i = 2 To n - 1 If n Mod i = 0 Then F = False Exit Function End If Next F = True End Function Private Sub Command1_Click() Dim i, j, n, a(100) As Integer n = 0 For i = 1 To 100 If F(i) = True Then n = n + 1 a(n) = i Endif Next For i = 1 To n Step 5 For j = 1 To 5 If i + j - 1 > n Then Exit for Print a(i + j -1), Next Print Next End Sub
求採納
C. VB程序設計 編寫函數fun,函數的功能是:判斷一個自然數是否為質數
代碼如下:
Function SFZS(A As Integer) As String
SFZS = "是"
For I = A - 1 To 2 Step -1
If A Mod I = 0 Then
SFZS = "否"
Exit For
End If
Next I
End Function
運行結果如圖:
D. 編寫函數判別一個數是否為質數,在主程序中實現輸入輸出 我的這個咋改啊
函數邏輯錯誤:並不是只要不能整除就認為是素數,而是除了1和自製外都不能整除的數才是素數。給你一個作參考—— int prime(int n){//素數判斷函數 int i; if(n>2 && !(n&1) || n<2) return 0;//小於2的不是素數,就是1不是素數,大於2的偶數也不是素數 for(i=3;i*i<=n;i+=2)//在1和自身之間的數(實際上從2~到那個數的平方根就可以了) if(!(n%i))//只要有一個能整除 return 0;//就不是素數而返回0 return 1;//只有1~自身之間的數都不能整除時才返回1,表示是素數}
E. C++編寫函數判別一個數是否為質數
嗯。。根據我的猜測的話,f函數中n的意思是除了1之外的x的因子個數。
首先,f函數的for循環中判斷:如果i是x的因子,則n++;
否則繼續循環(而不是跳出函數,那樣做不會輸出Y或N)。語句應為
for(int
i=2;i<=x;i++)if(x%i==0)n++;
f函數最後判斷:如果x只有它本身這一個因子,那麼判定為質數,輸出Y,否則輸出N。
if(n==1)cout<<'Y'<<endl;
else
cout<<'N'<<endl;
//n=1是賦值語句,n==1才是判斷語句
最後輸出包括1和x在內的因子個數,應return
n+1;
順帶一題,如果是我寫一個判斷質數的函數(不需要因子個數)的話,f函數我會這么寫
char f(int
x)
{
for(int
i=2;i*i<=x;i++)//i只需要循環到x的算術平方根即可
if(x%i==0)return
'N';
return
'Y';
}
希望對你有所幫助~
F. 編寫函數,其功能是判斷整數m是否為質數,並main函數調用此函數。 (大神可否寫一個詳細的解析)
#include<stdio.h>
int isZhiShu(int num){
int i,count=0;
for(i=1;i<=num;i++){
if(num%i==0){
count++;
}
}
return count<=2&&num>1?1:0;
}
void main(){
int num;
printf("請輸入一個整數:");
scanf("%d".&num);
while(num<=1){
printf("數字必須大於等於2!\n\n");
printf("請輸入一個整數:");
scanf("%d".&num);
}
if(isZhiShu(num)==1){
printf("數字%d是一個質數!",num);
}else{
printf("數字%d不是一個質數!",num);
}
}
G. 用c語言編寫程序,判斷一個數字是不是質數,要用調用函數的方法
#include<stdio.h>
#include<math.h>
//輸入質數返回1,否則返回0
int isPrimeNo(int num)
{
int i;
if (num < 2)
return 0;
for ( i = 2; i <= sqrt(num); i++)
{
if (num % i == 0)
return 0;
}
return 1;
}
int
main(void)
{
int num;
printf("Input the test number:");
scanf("%d", &num);
if (isPrimeNo(num))
printf("%d is a prime number.\n", num);
else
printf("%d is not a prime number.\n", num);
return(0);
}
H. 編程用函數判斷質數
//我不知道你需要哪種語言編寫的程序,所以就用了現在比較流行的三種編程語法
//程序1:c++運行環境
#include<stdio.h>
int is_prime_number(int num){
int i;//循環控制變數
int lag=1;//是否為質數的一個標志,當lag為1時表示該數為質數,為0時表示不為質數
if(num==1)
lag=0;
else
for(i=2;i<num;i++)
if(num%i==0){
lag=0;
break;
}
return lag;
}//判斷數num是否為質數,如果為質數則返回1,如果不為質數則返回0
int get_result(){
int i;
int sum=0;//用來保存1到10之間的質數之和
for(i=1;i<=10;i++)
if(is_prime_number(i))
sum+=i;
return sum;
}//返回1到10之間的質數之和
void main(){
printf("1到10之間的質數之和為:%d\n",get_result());
}
//程序2:java運行環境
class prime_number
{
int is_prime_number(int num){
int i;//循環控制變數
int lag=1;//是否為質數的一個標志,當lag為1時表示該數為質數,為0時表示不為質數
if(num==1)
lag=0;
else
for(i=2;i<num;i++)
if(num%i==0){
lag=0;
break;
}
return lag;
}//判斷數num是否為質數,如果為質數則返回1,如果不為質數則返回0
int get_result(){
int i;
int sum=0;//用來保存1到10之間的質數之和
for(i=1;i<=10;i++)
if(this.is_prime_number(i)==1)
sum+=i;
return sum;
}//返回1到10之間的質數之和
public static void main(String[] args)
{
prime_number prime_number1=new prime_number();
System.out.println("1到10之間的質數這和為:"+prime_number1.get_result());
}
}
//程序3:javascript編程語法(將下列程序復制到文本文件後,保存為htm格式,雙擊即可得出結果)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建網頁 1</title>
</head>
<body>
<script language=javascript>
function is_prime_number(num){
var i;//循環控制變數
var lag=1;//是否為質數的一個標志,當lag為1時表示該數為質數,為0時表示不為質數
if(num==1)
lag=0;
else
for(i=2;i<num;i++)
if(num%i==0){
lag=0;
break;
}
return lag;
}//判斷數num是否為質數,如果為質數則返回1,如果不為質數則返回0
function get_result(){
var i;
var sum=0;//用來保存1到10之間的質數之和
for(i=1;i<=10;i++)
if(is_prime_number(i))
sum+=i;
return sum;
}//返回1到10之間的質數之和
alert("1到10之間的質數之和為:"+get_result());
</script>
</body>
</html>
I. C語言編程:判斷某數是否是質數
#include<stdio.h>
int main(int argc,int argv[]){
int a,flag;
scanf("%d",&a);/*輸入一個數進行判斷是否是質數*/
int isprime(int);/*這里是對將要調用的函數聲明一下*/
flag=isprime(int);
if(flag==1) printf("%d is isprime",a);
printf("%d is not isprime",a):
return 1;/*這里的語句代表調用函數成功*/
}
int isprime(int a){ /*功能函數,判斷是否是素數*/
int i;
for(i=2;i<=a/2;i++)
if(a%i==0) return 0;/*只要有一次相除為0,馬上就能判斷不是素數*/
return 1;/*否則經過循環之後,都沒有相除為0呢,就說明一定是素數了*/
}
看到這里是不是有點疑惑了呢?我到網路查了一下,質數也稱素數,你注意看就好。。不懂再追問。。
不過我想你看完之後你應該能明的了,我已經寫得好詳細了啦。。。。
J. 用C++編寫函數判別一個數是否是質數,在主程序中實現輸入輸出
先定義整型變數n,輸入n,通過判斷函數判斷,最後輸出。
例如:
//參考代碼如下:
#include"iostream"
#include"stdio.h"
usingnamespacestd;
intfun(intn){//判斷函數,是質數返回1,否則返回0
intans=1;
for(inti=2;i<n;i++)//從2到n-1判斷能否整除n
if(n%i==0){
ans=0;
break;
}
returnans;
}
intmain()
{
intn;
cin>>n;//輸入n
if(fun(n))//判斷輸出
cout<<n<<"是質數";
else
cout<<n<<"是合數";
return0;
}
/*
運行結果:
29
29是質數
*/