Y 老师的乐高小镇
題目鏈接:
http://www.jsuacm.cn/problem.php?cid=1537&pid=8
題面:
思路:
這道題目的基本思路就是把K轉換為二進制,因為每條街對應的數目都是二進制中的1,10,100,100.。。。。。。,我們把K轉換為二進制,就只需要判斷這轉換為二進制后,出現(xiàn)了多少次1,就是用二進制表示的最少數目
參考代碼:
#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;//判斷二進制的每一位if(c==1)//如果出現(xiàn)1就加1{ans++;}k=k/2;//進一位}printf("%lld\n",ans);} }總結
- 上一篇: hibernate单向一对多关联
- 下一篇: PCSE_NASA【wofost】 天气