首页 > 其他分享 >优秀的拆分(csp2020入门级1)

优秀的拆分(csp2020入门级1)

时间:2024-09-22 20:23:23浏览次数:10  
标签:输出 正整数 10 csp2020 优秀 long 入门级 拆分

一般来说,一个正整数可以拆分成若干个正整数的和。例如,1=1,10=1+2+3+4等。 

对于正整数n的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,n被分解为了若干个不同的2的正整数次幂。注意,一个数x能被表示成2的正整数次幂,当且仅当x能通过正整数个2相乘在一起得到。 

例如,10=8+2=23+21是一个优秀的拆分。但是7=4+2+1=22+21+20就不是一个优秀的拆分,因为1不是2的正整数次幂。 

现在,给定正整数n,你需要判断这个数的所有拆分中,是否存在优秀的拆分。若存在,请你给出具体的拆分方案。 

输入格式

一个正整数n,代表需要判断的数

输出格式

如果这个数的所有拆分中,存在优秀的拆分。那么,你需要从大到小输出这个拆分中的每一个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。 

若不存在优秀的拆分,输出“-1”(不包含双引号)。 

输入/输出例子1

输入:

6

输出:

4 2

输入/输出例子2

输入:

7

输出:

-1

样例解释

对于20%的数据,n≤10。 

对于另外20%的数据,保证n为奇数。 

对于另外20%的数据,保证n为2的正整数次幂。 

对于80%的数据,n≤1024。 

对于100%的数据,1≤n≤1×107。 

#include<bits/stdc++.h>
using namespace std;
long long n;
long long c[100001],w;
int main(){
    cin>>n;
    if(n&1){
    	cout<<-1;
		return 0; 
    }
    while(n)c[++w]=n&1,n/=2;
	for(int i=w;i>=1;--i)
		if(c[i]){
			n=pow(2,i-1);
			cout<<n<<' ';
		}
	
    return 0;
}

标签:输出,正整数,10,csp2020,优秀,long,入门级,拆分
From: https://blog.csdn.net/guhbebskn/article/details/142442959

相关文章

  • WordPress中最佳播客插件:入门级指南
    近年来,播客在全球范围内迅速普及,成为人们获取信息和娱乐的重要途径。对于想在WordPress网站上添加播客功能的用户来说,选择合适的插件非常重要。本文将为大家介绍几款适合用户入门级WordPress播客插件,让你轻松实现播客功能。1.PodcastPlayer简介PodcastPlayer是一款简单易用的插......
  • MySQL 大表拆分
    概述在实际工作中,在关系数据库(MySQL、PostgreSQL)的单表数据量上亿后,往往会出现查询和分析变慢甚至无法执行统计分析的情况。这时就需要将大表拆分为多个小表,将小表分布在多个数据库上,形成一个数据库集群。这样的话,一条SQL统计语句就可以在多台服务器上并发执行,然后将执行结果汇......
  • 入门级小白超实用的python爬虫爬取网页图片
    图像作为信息传播的重要载体,在日常生活和各行各业的应用越来越广泛。网络图片爬取成为了数据挖掘和分析领域的一项重要技术。本文将探讨在网络环境中爬取图片的实现步骤以及代码。效果展示代码运行后,输入关健字等待片刻后桌面会自动创建一个名为picture的文件夹随后开始爬......
  • powershell@路径处理相关命令@路径拆分@路径解析@路径拼接@路径判断
    文章目录abstract一览表常用的路径处理场景重点路径处理命令1.Split-Path2.Convert-Path3.Join-Path4.Resolve-Path5.Test-Pathrvpavscvpa总结对比powershellprovider@powershell提供程序abstract在PowerShell中,处理路径相关的命令十分丰富,它们可以帮助我们管理、解析......
  • 南沙csp-j/s一对一家教陈老师解题:1318:【例5.3】自然数的拆分
    ​题目描述】任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。当n=7共14种拆分方法:7=1+1+1+1+1+1+17=1+1+1+1+1+27=1+1+1+1+37=1+1+1+2+27=1+1+1+47=1+1+2+37=1+1+57=1+2+2+27=1+2+47=1+3+37=1+67=2+2+37=2+57=3+4total=14【输入】输入n。......
  • 百度飞桨、千帆大模型以及Coze的简单比较:入门级
    百度飞桨、千帆大模型以及Coze在AI领域各有其独特之处,它们分别代表了不同方面的技术能力和应用场景。以下是对这三者的简单清晰扼要的解说:百度飞桨(PaddlePaddle)定义与特点:定义:飞桨是百度开源的、集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台于一体的......
  • Java中的服务拆分与合并:微服务架构的演进
    Java中的服务拆分与合并:微服务架构的演进大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着业务的不断扩展和用户数量的增加,传统的单体应用架构已经无法满足快速迭代和高并发的需求。微服务架构以其模块化和灵活性成为了现代应用架构的首选。在微服......
  • 转载:国产麒麟、统信系统在线编辑word并拆分成多个子文件
            在实际的开发过程中,有时会遇到希望提取Word文档中部分内容保存为子文件的需求,PageOffice支持提取Word文档数据区域中的内容为一个Word文件流,在服务器端创建PageOffice的WordReader命名空间中的WordDocument对象并获取到DataRegion对象,再调用DataRegion对象的Fil......
  • 139. 单词拆分(leetcode)
    https://leetcode.cn/problems/word-break/description/classSolution{publicbooleanwordBreak(Strings,List<String>wordDict){//思路较为巧妙,和传统背包定义不同//f[i]表示长度为i的字符串能否被wordDict里的单词凑成//状态转义方......
  • Stable Diffusion【XL Lora】推荐!AI助力服装设计,让服装拆分设计就是这么高效!
    今天给大家介绍一个服装饰品分类背景的基于SDXL的Lora模型:分类背景XUER。该模型是由作者(B站绪儿已成精)炼制,非常适合饰品服装分类背景。绪儿大佬其实推出了很多非常棒的模型,比如之前非常受大家喜欢的敦煌飞天、超梦幻场景等模型。下面我们来实际体验一下,看使用这个模型出来的图片......