网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

神奇的表面二进制数-创新互联

题目描述

创新互联建站长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为青海企业提供专业的成都网站设计、成都网站制作青海网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

我们定义一个各个位只有0和1的十进制数为表面二进制数。例如0,1,10,11,101,110011都是表面二进制数,而2,12,900却不是。

现在给你一个n,计算一下最少要多少个表面二进制数相加才能得到n。

输入

多组输入

每次输入一个数n (n为任意正整数,大不超过long long)

输出

输出最少的数目

样例输入 复制

9

样例输出 复制

9

1.这个题目大次数是9,我们仔细观察,会发现想让它最小,就是按他每一位的大小得到一个值 

如果我们想使它们次数最小,那么每一次都尽可能取每一位的大值。不能让它借数,否则适得其反。

代码如下:

#includeint slove(long long n)
{
	if(n<=0) return 0;
	long long i,k=n,s=0,w=1;
	while(k)
	{
		s=s+w*((k%10)>=1?1:0);
		k/=10;
		w*=10;
	}
	return slove(n-s)+1;
}
int main()
{
	long long n;
	while(~scanf("%lld",&n))
	{
		printf("%d\n",slove(n));
	}
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页题目:神奇的表面二进制数-创新互联
转载来于:http://bjjierui.cn/article/dcsocj.html

其他资讯