-3
Q.迴文數字讀取方式相同。由兩個2位數字產品製成的最大回文數是9009 = 91×99.用C++解決項目euler#4
查找由兩個3位數字產品製成的最大回文數。
這是我的代碼。它工作2位數的問題,給了9009作爲答案,但它不適用於3位數字部分。
#include <iostream>
using namespace std ;
bool ispallin(int n)
{
int reverse = 0, temp;
temp = n;
while (temp != 0)
{
reverse = reverse * 10;
reverse = reverse + temp%10;
temp = temp/10;
}
if (n == reverse)
return true;
else
return false;
}
int main() {
int a[999*999]={0},i,j,no;//0 implies no. at i th position is pallindrome
for(i=100;i<1000;i++)
{
for(j=100;j<1000;j++)
{
if(a[i*j]==0)//no. is pallin
{
if(ispallin(i*j))
no=i*j;
else a[i*j]=1;//no. at this pos is not pallindrome
}
}
}
cout<<no;
return 0;
}
你是什麼意思,「它不工作」? – user463035818
不給我提供正確答案 –