国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

雙基回文數

2019-11-09 19:22:04
字體:
來源:轉載
供稿:網友

記錄下寫的代碼和題目方便自己不會忘記(進制函數含借鑒) 問題描述:如果一個正整數n至少在兩個不同的進位制b1和b2下都是回文數(2<=b1,b2<=10),則稱n是雙基回文數(注意:回文數不能包含前導0)。 輸入正整數S<10^6,輸出比S大的最小雙基回文數。

樣例輸入:1600000

樣例輸出:1632995

分析:最自然的想法就是:從S+1開始,依次判斷每個數是否為雙基回文數,而在判斷時要列舉所有可能的基數(2~10),一切都是那么的”暴力“。然而令人意外的是,這樣做對于S<10^6這樣的小規模數據來說是足夠快的。因為這種數密度很大,這也是為什么不會爆的原因。

include<iostream>#include<string.h>using namespace std;int fun(int x,int n){ int a[100]; int k=0; memset(a,0,sizeof(a)); for(int i=0;;i++){ a[i]=x%n; x/=n; if(x==0){ k=i; break; } } int flag=1; for(int i=0;i<=k/2;i++){ if(a[i]!=a[k-i]){ flag=0; break; } } if(flag==1)return 1; else return 0;}int main(void){ int n; while(cin>>n){ for(;;n++){ int k=0; int flag=0; for(int i=2;i<=10;i++){ if(fun(n,i)) k++; if(k>=2){ flag=1; break; } }if(flag){ cout<<n<<endl; break; } } }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舒城县| 会东县| 宽甸| 永昌县| 乐山市| 黄骅市| 华宁县| 图木舒克市| 蒲城县| 阜宁县| 龙口市| 屏南县| 灌云县| 海淀区| 烟台市| 哈巴河县| 左权县| 海淀区| 庐江县| 贡觉县| 乌拉特中旗| 阜城县| 开封市| 莒南县| 大洼县| 兰溪市| 恭城| 鹿邑县| 五指山市| 镇沅| 龙门县| 浦北县| 兴宁市| 乌拉特中旗| 亳州市| 荥阳市| 德兴市| 松滋市| 福泉市| 余庆县| 丹棱县|