日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > UVA 10479 The Hendrie Sequence 規律

UVA 10479 The Hendrie Sequence 規律

來源:程序員人生   發布時間:2015-05-27 08:20:15 閱讀次數:3292次

題目大意:1個序列,剛開始由0變到了1,接著往后1個個變化下去
變化的規則是,如果當前數是k,就在這個序列的最后面加上k-1個0,再加上k+1
現在問這個序列的第n個數是多少

解題思路:這是有規律的,第2的k次方個數恰好是k
如果當前數是k,且k恰好是2的n次方,那末這個數前面就有n-1個0,n-2個1,n-3個02組合,以此類推
如果要求第n個數是多少,只需要找到n是哪一個k之前的,然后依照上面的規律順次遞歸下去便可

#include<cstdio> #include<cstring> using namespace std; #define maxn 64 typedef unsigned long long ull; ull pos[maxn], num[maxn]; void init() { num[0] = num[1] = 1; for(int i = 2; i < maxn; i++) num[i] = num[i - 1] * 2; pos[1] = 2; for(int i = 2; i < maxn; i++) pos[i] = pos[i - 1] * 2; } int dfs(ull len, int n) { if(len == 0) { return n; } int now = 0; for(int i = n - 1; i > 0; i--) { if(len > i * num[now]) len -= i * num[now]; else { if(now == 0 || now == 1) { return now; } len = (len - 1) % num[now]; return dfs(len, now); } now++; } } int main() { init(); long long n; while(scanf("%lld", &n) == 1 && n) { if(n == 1) { printf("0 "); continue; } for(int i = 1; i <= 64; i++) { if(n <= pos[i]) { printf("%d ", dfs(pos[i] - n, i)); break; } } } }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 99色图| 一本色道久久88综合亚洲精品ⅰ | 久久精品国内 | 欧美成人第一页 | 日韩电影在线免费观看 | 7799精品视频 | 九九九九久久久久 | 国产一区二区三区免费在线观看 | 精品国产91乱码一区二区三区 | 男女互操网站 | 亚洲一区二区视频在线 | 日韩欧美一 | 麻豆成人在线观看 | 992tv国产精品成人影院 | 93精品国产乱码久久久 | 91福利电影在线观看 | 6080yy精品一区二区三区 | 在线播放国产视频 | 久久伊99综合婷婷久久伊 | 亚洲成人一区在线观看 | www99| 久久av网站| 免费的色网站 | 午夜精品在线观看 | 亚洲综合无码一区二区 | 真不卡影院 | 亚洲国产网站 | 在线观看黄网站 | 久久黄视频 | 九九热视频在线 | 久久国产精品免费 | 国产精品永久免费 | 欧美第一区| 曰韩在线 | 国产视频在线一区二区 | 国产在线永久 | 叼嘿视频91 | 久久精品99国产精品 | 国产一区免费 | av毛片在线 | 9久久精品|