日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

USACO-Section1.3 Palindromic Squares (进制转换和回文数)

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 USACO-Section1.3 Palindromic Squares (进制转换和回文数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2017-5-27

題目描述

十進制數1300的平方用N進制表示,若為回文數,則輸出

解答

大體就是進制轉換以及判斷回文數的結合

代碼

/* ID: 18795871 PROG: palsquare LANG: C++ */ #include<iostream> #include<fstream> #include<cstring> using namespace std;ifstream fin("palsquare.in"); ofstream fout("palsquare.out");const int N = 17; char x[21]="0123456789ABCDEFGHIJ"; int n; char c[N+1];void cal(int a){//將十進制a用n進制表示 char d[N+1];int i=0;while (a){d[i++]=x[a%n];a/=n;} for (int j=0;j<i;j++) c[j]=d[i-j-1];c[i]='\0'; }bool res(char *a){char b[N+1];int l=strlen(a);for (int i=0;i<l;i++) b[l-i-1]=a[i];b[l]='\0';a[l]='\0';if (strcmp(a,b)==0) return true;return false; }int main() {fin>>n;for (int i=1;i<=300;i++){cal(i*i);if (res(c)){cal(i);fout<<c<<" ";cal(i*i);fout<<c<<endl;}}return 0; }

說一下需要注意的地方:
(1)注意對十進制以上字符的判斷,A代表10,B代表11,以此類推。
(2)注意輸出的是B進制的兩個數,原數和它的平方。

/* ID: 18795871 PROG: palsquare LANG: C++ */ #include<iostream> #include<fstream> using namespace std;ifstream fin("palsquare.in"); ofstream fout("palsquare.out");int n;bool isPal(char p[100],int l){if (l==1) return true;for (int i=0;i<l/2;i++){if (p[i]!=p[l-i-1]) return false;}return true; }bool cal(int p){char c1[100],c2[100];int k1=p,k2=p*p,cnt1=0,cnt2=0;while (k1){if (k1%n<10) c1[cnt1]=k1%n+'0';else c1[cnt1]=(k1%n-10)+'A';k1=k1/n;cnt1++;}while (k2){if (k2%n<10) c2[cnt2]=k2%n+'0';else c2[cnt2]=(k2%n-10)+'A';k2=k2/n;cnt2++;}if (!isPal(c2,cnt2)) return false;for (int i=cnt1-1;i>=0;i--) fout<<c1[i];fout<<" ";for (int i=cnt2-1;i>=0;i--) fout<<c2[i];fout<<endl;return true; }int main(){while (fin>>n){for (int i=1;i<=300;i++){if (!cal(i)) continue;}}return 0; }

總結

以上是生活随笔為你收集整理的USACO-Section1.3 Palindromic Squares (进制转换和回文数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。