c語言孿生素數
㈠ c語言問題:孿生素數(rsss)
#include<stdio.h>
#include<math.h>
intSuSho(intx)
{
inti;
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0)
return0;
}
if(x==2||x==3||i==(int)(sqrt(x)+1))
return1;
}
intmain()
{
inti,j,sum=0;
scanf("%d",&j);
for(i=2;i<j-2;i++)
{
if(SuSho(i)==1&&SuSho(i+2)==1||SuSho(i)==1&&SuSho(i+1)==1)
sum++;
}
printf("%d ",sum);
return0;
}
㈡ c語言孿生素數,輸入一個數,輸出小於那個數的最大孿生素數,用函數。
看代碼:
#include<stdio.h>
#include<math.h>
//判斷是否是素數,是返回1,不是返回0
intis_prime(intn)
{
inti,tmp=(int)sqrt(n);
for(i=2;i<=tmp;++i)
{
if(n%i==0)
{
return0;
}
}
return1;
}
intmain()
{
inti,n;
printf("請輸入一個數:");
scanf("%d",&n);
for(i=n-1;i-2>=2;--i)//小於n,所以讓i從n-1開始
{
if(is_prime(i)&&is_prime(i-2))
{
printf("小於%d的最大孿生素數為:%d和%d ",n,i,i-2);
break;
}
}
return0;
}
運行:
㈢ 孿生素數(C語言)
#include<stdion.h>
bool Issushu(int a){
int i = 2;
for(i = 2;i <= a/2;i++){
if(a%i == 0)
return false;
}
return true;
}
int main(){
int m = 0;
scanf("%d",&m);
if(m%2)
m--;
for(;m>2;m-=2){
if(Issushu(m)&&Issushu(m-2)){
printf("%d",m);
return 0;
}
printf("不存在");
return 0;
}
㈣ C語言孿生素數問題;
#include <stdio.h>
#include<math.h>
int main()
{
long c,d,i,n,a,m=0,q=0,w=0;
printf("please input c,d(c>2): ");
scanf("%d,%d",&c,&d);
printf("c=%d d=%d ",c,d);
for (i=c;i<d-1;i++)
{q=1;
for (n=2;n<sqrt(i);n++)
{
if ((i%n)==0)
{
q=0;
break;
}
}
w=1;
for (a=2;a<=sqrt(i+2);a++)
{
if (((i+2)%a)==0)
{
w=0;
break;
}
}
if ((w==1)&&(q==1))
{
printf("(%d,%d) ",i,i+2);
m++;
if(m%20==0)getchar();
}
}
printf("total=%d ",m);
return 0;
}
㈤ C語言編程求出2000以內的所有的孿生素數
看代碼:
#include<stdio.h>
#include<math.h>
//判斷是否是素數,是返回1,不是返回0
intis_prime(intn)
{
inti,tmp=(int)sqrt(n);
for(i=2;i<=tmp;++i)
{
if(n%i==0)
{
return0;
}
}
return1;
}
intmain()
{
inti;
for(i=2;i+2<2000;++i)
{
if(is_prime(i)&&is_prime(i+2))
{
printf("%d%d ",i,i+2);
}
}
return0;
}
㈥ 孿生素數(C語言)
#include<stdio.h>
int isZhiShu(int m)
{
for(int i=2;i<=m/2;i++)
if(m%i==0)
{
return 0;
break;
}
return 1;
}
int main()
{
int n,i,a=0,b=0;
printf("please input a num");
scanf("%d",&n);
for(i=n;i>1;i--)
if(isZhiShu(i)==1)
{
a=b;
b=i;
if(a-b==2)
{
printf("the number is %d and %d",b,a);
break;
}
}
}
㈦ C語言輸出n以內的孿生素數
按照你的要求編寫的輸出n以內的孿生素數的C語言程序如下
#include<stdio.h>
intisPrime(intn){
inti;
for(i=2;i<n;i++)
{
if(n%i==0)return0;
}
return1;
}
intmain(){
inti,n;
printf("請輸入一個正整數:");
scanf("%d",&n);
for(i=2;i<=n;i++){
if(isPrime(i)==1&&isPrime(i+2)==1){
printf("%d和%d是孿生素數 ",i,i+2);
}
}
return0;
}