cf9C. Hexadecimal's Numbers
2016-05-21 07:51
387 查看
C. Hexadecimal's Numbers
time limit per test
1 second
memory limit per test
64 megabytes
input
standard input
output
standard output
One beautiful July morning a terrible thing happened in Mainframe: a mean virus Megabyte somehow got access to the memory of his not less mean sister Hexadecimal. He loaded there a huge amount of n different
natural numbers from 1 to n to obtain total control over her energy.
But his plan failed. The reason for this was very simple: Hexadecimal didn't perceive any information, apart from numbers written in binary format. This means that if a number in a decimal representation contained characters apart from 0 and 1, it was not stored
in the memory. Now Megabyte wants to know, how many numbers were loaded successfully.
Input
Input data contains the only number n (1 ≤ n ≤ 109).
Output
Output the only number — answer to the problem.
Examples
input
output
Note
For n = 10 the answer includes numbers 1 and 10.
题意:查找1-n中有多少数仅由0和1组成
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<list>
#include<queue>
#include<vector>
using namespace std;
const int maxn=10010;
long long ans=0;
void dfs(long long n,long long num,long long cnt){
if(num>n)return ;
if(cnt==0){
ans++;return ;
}
dfs(n,num*10+1,cnt-1);dfs(n,num*10,cnt-1);
}
int main()
{
long long i,j,k,n;
scanf("%lld",&n);
long long temp=n;int cnt=0;
while(temp){
temp/=10;cnt++;
}
for(i=1;i<cnt;++i){
ans=ans+(1<<(i-1));
}
dfs(n,1,cnt-1);
printf("%lld\n",ans);
return 0;
}
time limit per test
1 second
memory limit per test
64 megabytes
input
standard input
output
standard output
One beautiful July morning a terrible thing happened in Mainframe: a mean virus Megabyte somehow got access to the memory of his not less mean sister Hexadecimal. He loaded there a huge amount of n different
natural numbers from 1 to n to obtain total control over her energy.
But his plan failed. The reason for this was very simple: Hexadecimal didn't perceive any information, apart from numbers written in binary format. This means that if a number in a decimal representation contained characters apart from 0 and 1, it was not stored
in the memory. Now Megabyte wants to know, how many numbers were loaded successfully.
Input
Input data contains the only number n (1 ≤ n ≤ 109).
Output
Output the only number — answer to the problem.
Examples
input
10
output
2
Note
For n = 10 the answer includes numbers 1 and 10.
题意:查找1-n中有多少数仅由0和1组成
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<list>
#include<queue>
#include<vector>
using namespace std;
const int maxn=10010;
long long ans=0;
void dfs(long long n,long long num,long long cnt){
if(num>n)return ;
if(cnt==0){
ans++;return ;
}
dfs(n,num*10+1,cnt-1);dfs(n,num*10,cnt-1);
}
int main()
{
long long i,j,k,n;
scanf("%lld",&n);
long long temp=n;int cnt=0;
while(temp){
temp/=10;cnt++;
}
for(i=1;i<cnt;++i){
ans=ans+(1<<(i-1));
}
dfs(n,1,cnt-1);
printf("%lld\n",ans);
return 0;
}
相关文章推荐
- N字符在Sql Server字段类型中的重要性概述
- RMAN-06059: expected archived log not found
- VMWare虚拟机 网络连接模式
- mysql:Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
- windows各服务端口
- navicat 连接mysql is not allowed to connect to this mysql server
- 谈谈Memcached与Redis(二)
- 用exec sp_executesql @sql,N'@b int output',@b ou...
- NoSQL中memtable机制的改进
- leetcode:Pow(x,n)菜鸟解法
- LeetCode-Pow(x, n)
- html中的meta详解
- Pow(x, n)
- MYSQL之N参数和e参数之命令行执行sql语句
- virtual-box中linux网卡类型的变动
- 常用的延迟 iOS
- ACM-大数之N!——hdu1042
- LeetCode 103 Pow(x, n)
- qt调用vc编写库文件的方法
- java换行