-
J - Kaleidoscopic Palindromes
- Kattis - kaleidoscopicpalindromes
- 题意:问在[a,b],中哪些数在[2,k]所有进制下的形式都为回文串
- 思路:虽然k很大,猜测随着k增大满足条件的数字会越来越少,所以就模拟一遍题意即可
-
#include <iostream> using namespace std; bool check(int x,int k) { int s[100006],ans=0; while(x) { s[ans++]=x%k; x/=k; } for(int i=0; i<=ans/2; i++) { if(s[i]!=s[ans-1-i]) return false; } return true; } int main() { int x,y,k; cin>>x>>y>>k; int sum=0; for(int i=x; i<=y; i++) { int tk=2; for(; tk<=k; tk++) { if(check(i,tk)==0) { break; } } if(tk==k+1) sum++; } cout<<sum<<endl; return 0; }
本文解析了Kattis-kaleidoscopicpalindromes题目,介绍了如何判断一个数在特定进制下是否为回文串,并通过模拟实现了找出在[a,b]区间内,哪些数在[2,k]所有进制下都是回文串的算法。
1024

被折叠的 条评论
为什么被折叠?



