Y 老师的乐高小镇
題目鏈接:
http://www.jsuacm.cn/problem.php?cid=1537&pid=8
題面:
思路:
這道題目的基本思路就是把K轉(zhuǎn)換為二進(jìn)制,因?yàn)槊織l街對應(yīng)的數(shù)目都是二進(jìn)制中的1,10,100,100.。。。。。。,我們把K轉(zhuǎn)換為二進(jìn)制,就只需要判斷這轉(zhuǎn)換為二進(jìn)制后,出現(xiàn)了多少次1,就是用二進(jìn)制表示的最少數(shù)目
參考代碼:
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #include<algorithm> using namespace std; int main() {long long k;while(scanf("%lld",&k)!=EOF){long long c,ans=0;while(k){c=k%2;//判斷二進(jìn)制的每一位if(c==1)//如果出現(xiàn)1就加1{ans++;}k=k/2;//進(jìn)一位}printf("%lld\n",ans);} }總結(jié)
- 上一篇: hibernate单向一对多关联
- 下一篇: PCSE_NASA【wofost】 天气