import java.util.ArrayList;
import java.util.Scanner;
public class B23
{
public static String change(int num,int d){
StringBuffer s=new StringBuffer();
while(num!=0){
s.insert(0,(char)(num%d+'0'));
num=num/d;
}
return s.toString();
}
public static boolean isRight(String s){
for(int i=0;i<s.length()/2;i++){
if(s.charAt(i)!=s.charAt(s.length()-1-i)){
return false;
}
}
return true;
}
public static void minValue(int n){
n++;
while(true){
int count=0;
ArrayList<Integer> m=new ArrayList<Integer> ();
for(int i=2;i<=10;i++){
if(isRight(change(n,i))){
count++;
m.add(i);
}
}
if(count>=2){
System.out.println("双基回文数是:"+n);
for(int i=0;i<m.size();i++){
System.out.println(m.get(i)+"进制:"+change(n,m.get(i)));
}
return;
}
n++;
}
}
public static void main(String[] args)
{
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
minValue(n);
}
}
暴力求解法-双基回文数
最新推荐文章于 2018-12-25 23:23:35 发布