国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

gdufe acm 1206 lowbit

2019-11-14 13:08:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(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)化成二進(jìn)制數(shù)之后,只保留最低位的1及其后面的0,截?cái)嗲懊娴膬?nèi)容,然后再轉(zhuǎn)成10進(jìn)制數(shù) 比如lowbit(7),7的二進(jìn)制位是111,lowbit(7) = 1 6 = 110(2),lowbit(6) = 2,同理lowbit(4) = 4,lowbit(12) = 4,lowbit(2) = 2,lowbit(8) = 8

每輸入一個(gè)n,求ans Input:

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

Output:

每組數(shù)據(jù)輸出一行,對(duì)應(yīng)的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…時(shí),lowbit(i) == 1, i為 2,6,10,14,18…時(shí),lowbit(i) == 2, i為 4,12,20,28,36…時(shí),lowbit(i) == 4, i為 8,24,40,56,72…時(shí),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ī)律可以推出來(lái) } printf("%lld/n", ans); } return 0;}//需要注意:<<的優(yōu)先級(jí)比-低
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 古田县| 金华市| 绥化市| 中阳县| 固始县| 广州市| 辉南县| 体育| 德钦县| 庆阳市| 五莲县| 称多县| 秦安县| 赤城县| 石景山区| 卢氏县| 华容县| 东兴市| 榆社县| 成安县| 内江市| 瓦房店市| 昌图县| 正宁县| 伊通| 河池市| 田林县| 察雅县| 东乌珠穆沁旗| 岳阳县| 灵川县| 荥阳市| 富顺县| 宣威市| 博客| 肇庆市| 扎兰屯市| 石屏县| 佛山市| 嘉峪关市| 青田县|