100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 信息学奥赛一本通 1937:【06NOIP普及组】数列 | 洛谷 P1062 [NOIP 普及组] 数列

信息学奥赛一本通 1937:【06NOIP普及组】数列 | 洛谷 P1062 [NOIP 普及组] 数列

时间:2021-01-30 14:52:06

相关推荐

信息学奥赛一本通 1937:【06NOIP普及组】数列 | 洛谷 P1062 [NOIP 普及组] 数列

【题目链接】

ybt 1937:【06NOIP普及组】数列

洛谷 P1062 [NOIP 普及组] 数列

【题目考点】

1. 数制

【解题思路】

如果k为2,那么这个数列

第1项为202^020第2项为212^121第3项为21+202^1 + 2^021+20第4项为222^222第i项为i在二进制下的按位权展开式,其值为i。

输入n和k后,数字n在二进制下做数字拆分,让n在二进制下的每一位数乘以一个“位权”,第i位的“位权”为ki−1k^{i-1}ki−1,然后加和。

【题解代码】

解法1:

#include<bits/stdc++.h>using namespace std;int main(){int k, n, q = 0;//q:指数 long long s = 0;cin >> k >> n;for(int a = n; a > 0; a /= 2, q++)s += pow(k, q) * (a % 2); //k的q次方:位权 cout << s;return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。