hiho一下 第181周(少于两位前面补0的方法)
2017-12-22 15:10
316 查看
描述
Consider a binary watch with 5 binary digits to display hours (00 - 23) and 6 binary digits to display minutes (00 - 59).For example 11:26 is displayed as 01011:011010.
Given a number x, output all times in human-readable format "hh:mm" when exactly
x digits are 1.
输入
An integer x. (0 ≤ x ≤ 9)输出
All times in increasing order.样例输入
1
样例输出
00:01 00:02 00:04 00:08 00:16 00:32 01:00 02:00 04:00 08:00 16:00
题意:
给出一个数字n,问哪些hh:mm的二进制中1的个数恰好有 n 个数
题解:
枚举24 + 60 的二进制都有多少个1,少于两位的时候前面补0的方法
printf("%02d:%02d\n",i,j);
#include<stdio.h>
int h[25],m[60];
int deal(int x){
int ans=0;
while(x)
ans+=x%2,x/=2;
return ans;
}
void init(){
for(int i=0;i<24;i++)
h[i]=deal(i);
for(int i=0;i<60;i++)
m[i]=deal(i);
}
int main()
{
int n;
init();
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<24;i++)
for(int j=0;j<60;j++)
if(h[i]+m[j]==n)
printf("%02d:%02d\n",i,j);
}
return 0;
}
相关文章推荐
- hiho一下 第九十八周 #1304 : 搜索一·24点 【此方法好巧妙呀---用来求24点】
- 编程之美hiho一下第二周Trie树
- hiho一下 第139周 买零食
- hiho一下 第六十六周 Have Lunch Together
- JAVA开发之将double类型,强制保留到小数点后两位解决方法
- hiho一下第60周《String Matching Content Length》
- 去除优酷前面那几十秒广告的方法
- 记录一下PHP数组数据分页的方法
- Java中判断字符串是否为数字和保留两位小数的方法
- JAVA除法保留小数点后两位的方法!!!
- 四舍五入保留两位小数的方法
- java基础方法之取小数点后两位(方法待完善)
- hiho一下 第四十九周 欧拉路·一
- C# 实现保留两位小数的方法
- hiho一下 第109周:Tower Defense Game
- 谈一下SQL数据库的修复方法
- hihoCoder - hiho一下 第二十六周 - A - 最小生成树一·Prim算法
- hihoCoder hiho一下 第四十六周 博弈游戏·Nim游戏·三( sg函数 )
- hiho一下 第三十七周二分·二分查找之k小数
- hiho一下 第157周/1311 : 二进制小数