麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

gdufe acm 1206 lowbit

2019-11-14 13:08:30
字體:
供稿:網(wǎng)友

鏈接: http://acm.gdufe.edu.cn/PRoblem/read/id/1206

Problem Description:

long long ans = 0; for(int i = 1; i < = n; i ++) ans += lowbit(i) lowbit(i)的意思是將i轉(zhuǎn)化成二進制數(shù)之后,只保留最低位的1及其后面的0,截斷前面的內(nèi)容,然后再轉(zhuǎn)成10進制數(shù) 比如lowbit(7),7的二進制位是111,lowbit(7) = 1 6 = 110(2),lowbit(6) = 2,同理lowbit(4) = 4,lowbit(12) = 4,lowbit(2) = 2,lowbit(8) = 8

每輸入一個n,求ans Input:

多組數(shù)據(jù),每組數(shù)據(jù)一個n(1 <= n <= 5*10^8)

Output:

每組數(shù)據(jù)輸出一行,對應的ans Sample Input:

1 2 3 Sample Output:

1 3 4

首先, lowbit (i) = i&-i for(int i = 1; i < 100; i++) printf(“%d/n”, lowbit(i) ); 觀察其規(guī)律,可以發(fā)現(xiàn): i為 1,3,5,7,9…時,lowbit(i) == 1, i為 2,6,10,14,18…時,lowbit(i) == 2, i為 4,12,20,28,36…時,lowbit(i) == 4, i為 8,24,40,56,72…時,lowbit(i) == 8…

代碼:

#include <stdio.h>#include <math.h>int main(){ int n; while(scanf("%d", &n) == 1){ int p = (int)log2(n); long long ans = 0; for(int i = 0; i <= p; i++){ ans += ((n - (1 << i)) / (1 << (i+1)) + 1) * (1 << i);//懶得描述。。。反正根據(jù)規(guī)律可以推出來 } printf("%lld/n", ans); } return 0;}//需要注意:<<的優(yōu)先級比-低
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品国产乱码久久久久久丨区2区 | 亚洲免费看片网站 | 成人在线观看地址 | 成人在线视频黄色 | 久草视频福利在线观看 | 精品国产1区2区3区 免费国产 | 成人做爽爽爽爽免费国产软件 | 91麻豆蜜桃一区二区三区 | 欧美一级片免费在线观看 | 久久国产中文 | 少妇一级淫片免费放播放 | 久久精品一区二区三 | 夜添久久精品亚洲国产精品 | 国产一区精品在线观看 | 精品国产91久久久久 | 性欧美极品xxxx欧美一区二区 | 4p一女两男做爰在线观看 | 日韩毛片网 | 日韩激情一区 | 九七在线视频 | 手机免费看一级片 | av成人一区二区 | 欧美一级黄带 | 久久久久一区二区三区 | 中文字幕爱爱视频 | 黄色18网站| 成人 在线 | 最新亚洲视频 | 欧美一级做a | 日本精品婷婷久久爽一下 | 国产精品性夜天天视频 | 斗罗破苍穹在线观看免费完整观看 | 一区二区久久久久草草 | 毛片a级毛片免费播放100 | 亚洲欧美国产高清 | 思思久而久而蕉人 | 国产女做a爱免费视频 | 在线小视频国产 | 久久国产精品免费视频 | 亚洲成人福利在线 | 99国产精品国产免费观看 |