各位看官想知道自己答案正確還是錯誤
請按
然後在自己程式碼前打上
語法:
/*
ID: newjoeb1
PROG: palsquare
LANG: 選擇語言名稱(C.C++.PASCAL.JAVA)
*/
下方有個上傳檔案,請以
txt的方式上傳
以下是我的程式碼(好長.....僅供參考 = =)
語法:
/*
ID: newjoeb1
PROG: palsquare
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
#include <math.h>
using namespace std;
int main() {
ofstream fout ("palsquare.out");
ifstream fin ("palsquare.in");
int i,j,m,k,n,l=1,t; char d[301][20],A='A',O='0',a[20];
fin >>n;
for(i=1;i<=300;i++){
m=i*i;k=pow(n,l);t=1;
if(m/k>0)
while(m/k>0){
l++;
k=pow(n,l);
}
for(j=l-1;j>=0;j--){
k=pow(n,j);
d[i][j]=m/k;
m%=k;
}
for(j=l;j>l/2;j--)
if(d[i][j-1]!=d[i][l-j]){
t=0;
break;
}
if(t==1){
j=0;m=i;
while(m>0){
a[j]=m%n;
m/=n;
j++;
}
for(;j>0;j--){
if(a[j-1]>9){
A+=a[j-1]-10;
fout <<A;
A='A';
}
else{
O+=a[j-1];
fout <<O;
O='0';
}
}
fout <<" ";
for(j=l-1;j>=0;j--){
if(d[i][j]>9){
A+=d[i][j]-10;
fout <<A;
A='A';
}
else{
O+=d[i][j];
fout <<O;
O='0';
}
}
fout <<endl;
}
}
return 0;
}