絕對素數

絕對素數是指本身是素數,其逆序數也是素數的數。例如:10321與12301是絕對素數。

基本介紹

  • 中文名:絕對素數
  • 定義:本身是素數,逆序數也是素數的數
  • 例如::10321與12301是絕對素數
  • VB參考程式:Dim k As Integer
VB參考程式,VC參考程式,

VB參考程式

Private Function prime(n As Long) As Integer
Dim k As Integer
prime = False
For k = 2 To Sqr(n)
If n Mod k = 0 Then Exit Function
Next k
prime = True
End Function
Private Sub Command1_Click()
Dim m As Long, n As Long
For m = 10001 To 99999 Step 2
n = nx(m)
If prime(m) And prime(n) And m <> n Then
list1.AddItem "(" & m & "," & n & ")"
End If
Next m
End Sub
Private Sub Command2_Click()
list1.Clear
End Sub
Private Function nx(n As Long) As Long
Dim p As Integer, s As String
Do
p = n Mod 10
s = s & p
n = n / 10
Loop Until n <= 0
nx = Val(s)
End Function

VC參考程式

#include <stdio.h>
#include <math.h>
int reverse( int num )
{
int temp, target;
temp = num;
target = 0;
while( temp )
{
target = target*10 + temp % 10;
temp /= 10;
}
return target;
}
int AbsolutePrime( int head, int tail )
{
int i, j, k;
int ri;
int sqrt1, sqrt2;
int count;
count = 0;
for( i=head; i<tail; i++ )
{
sqrt1 = (int)sqrt( i );
for( j=2; j<=sqrt1; j++ )
{
if( i%j==0 )
break;
}
if( j>sqrt1)
{
ri = reverse(i);
sqrt2 = (int)sqrt( ri );
for( k=2; k<=sqrt2; k++)
{
if( ri%k == 0 )
break;
}
if( k>sqrt2 )
{
count++;
printf("%d\n", i);
}
}
}
return count;
}

相關詞條

熱門詞條

聯絡我們