编程实现,寻找并输出11至999之间的数m,它满足m、m*m、m*m*m均为回文数。

2024-11-18 17:30:38
推荐回答(2个)
回答1:

public int JSValue(long m)
{
int b=0;
int temp;
int temp1;
int r;
temp=num*num;
tem1=num*num*num;
String str = new Integer(temp).toString();
String str1= new Integer(temp1).toString();
int n = str.length();
int n1 = str1.length();
for(int i=0;i {
if(str.charAt(i)!=str.charAt(n-i-1))
{
b=b+1;
break;
}
}
for(int i=0;i {
if(str.charAt(i)!=str.charAt(n-i-1))
{
b=b+1;
break;
}
}
if(b==2)
{
r=1;
}
esle
{
r=0;
}
retrue r;
}

回答2:

static void Main(string[] args)
{
for (int i = 11; i < 99999; i++)
{
if (find(i.ToString()) && find((i * i).ToString()) && find((i * i * i).ToString()))
{
Console.WriteLine(i);
}
}
Console.Read();
}

static bool find(string value)
{
int i= 0,j=value.Length;
for (i = 0; i < j - 1; i++, j--) {
if (value[i] != value[j-1]) {
return false;
}
}
return true;
}