當前位置:首頁 » 編程語言 » c語言編程中的迴文素數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程中的迴文素數

發布時間: 2023-07-16 02:21:02

① 迴文素數C++

#include <stdio.h>

int isprime(long n)

{

long i;

if(n<2)

return 0;

for(i=2;i*i<=n;++i)

if(n%i==0)

return 0;

return 1;

}

int ispali(long n)

{

long t,m;

for(t=n,m=0;t;t/=10)

m=m*10+t%10;

return m==n;

}

int main()

{

long n,cnt;

for(cnt=0;scanf("%ld",&n)==1&&n>0;)

{

if(isprime(n))

cnt++;

}

printf("%ld ",cnt);

return 0;

}

② 用c語言:求10--1000中,所有既是迴文數又是素數的列印

int
i,j,m=0
for
(i=10;i<=1000;i++)
{for
(j=2;j<i-1;j++)
if
(i%j==0)
break;
if(i>=j+1)
a[m++]=i;
"將10-1000所有素數存於數組A中"
}
for
(i=0;i<=m;i++)
{判斷a[i]是否是迴文數,如果是則輸出
}
-------------------------------------------
*問題分析與演算法設計
所謂迴文素數是指,對一個整數n從左向右和從由向左讀其結果值相同且是素數,即稱n為迴文素數。所以本題的重點不是判斷素數的方法,而是求迴文整數。構造迴文數的方法很多,這里僅介紹一種最簡單的演算法。實現思路是先求出一個整數的迴文數,再判斷是否為素數。
不超過1000的迴文數包括二位和三位的迴文數,我們採用窮舉法來構造一個整數並求與其對應的反序數,若整數與其反序數相等,則該整數是迴文數。
*程序說明與注釋
#i
nclude<stdio.h>
int
a(int
n)
int
main()
{
int
i,j,t,k,s;
printf("Following
are
palindrome
primes
not
greater
than
1000:\n");
for(i=0;i<=9;++i)
//窮舉第一位
for(j=0;j<=9;++j)
//窮舉第二位
for(k=0;k<=9;++k)
//窮舉第三位
{
s=i*100
+
j*10
+
k;
//計算組成的整數
t=ik*100
+
j*10
+
i;
//計算對應的反序數
if(i
==
0
&&
j==0)
//處理整數的前兩位為0的情況
{
t/100;
}
else
if(i
==0)
//處理整數的第一位為0的情況
{
t/10;
}
if(s.10
&&
s==t
&&
a(s))
//若大於10且為迴文素數,則輸出
{
printf("%d\t",s);
}
}
return
0;
}
//判斷參數n是否為素數
int
a(int
n)
{
int
i;
for(i=2;i<(n-1)/2;+=i)
{
if(n%i
==
0)
return
0;
}
return
1;
}
*運行結果
Following
are
palindrome
primes
not
greater
than
1000:
11
101
131
151
181
191
313
353
373
383
727
787
797
919
929

③ c語言如何求迴文數

1、首先打開vc6.0,新建一個控制台項目。