Set Definition
http://acm.pku.edu.cn/JudgeOnline/problem?id=2591
(1)1は集合Sに属します (2)xがSに属するならば、2x+1,3x+1もSに属します (3)上記以外のいかなる数もSに属しません
(1)〜(3)の条件を満たす値の集合について、小さいものからN番目(1〜10000000)の値を求めてください。
- 999出た!
長いことPKUで遊んでいて、初めて999msが出ました。結構嬉しいです。
- コード
999msが嬉しかっただけなので、特に工夫はしていません。
s[1<<24]; x,y,i; main(a,b) { for(*s=1;i++<1e7;y+=a>=b,x+=b>=a) s[i]=fmin(a=2*s[x],b=3*s[y])+1; for(;~scanf("%d",&a);printf("%d\n",s[a-1])); }