当前位置: 首页 > news >正文

2019-2020 CSP-J C++普及组 第一题题解汇编

不容易 今年江苏分数线普及组要88.5分 我一年没碰电脑还考到了 刚好89

正文

【2019CSPJ普及组】数字游戏

时间限制: 1000 ms 内存限制: 262144 KB
【题目描述】
小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。
注意:01 字符串为每一个字符是 0 或者 1 的字符串,如“101”(不含双引号)为一个长度为 3 的 01 字符串。
【输入】
只有一行,一个长度为 8 的 01 字符串 s。
【输出】
只有一行,包含一个整数,即 01 字符串中字符 1 的个数。
【输入样例】
00010100
【输出样例】
2
【提示】
【输入输出样例 1 说明】
该 01 字符串中有 2 个字符 1。
【输入样例 2】
11111111
【输出样例 2】
8
【数据规模与约定】
对于 20% 的数据,保证输入的字符全部为 0。
对于 100% 的数据,输入只可能包含字符 0 和字符 1,字符串长度固定为 8。

十分简单 输入 判断 然后输出 初学者练手题

#include<bits/stdc++.h>
using namespace std;
int num,i,a;
char s[9];
int main()
{for(i=1;i<=8;i++)scanf("%c",&s[i]);for(i=1;i<=8;i++){if(s[i]=='1')num++;}cout<<num<<endl;return 0;
}

估计是因为第一次举办CSP-J 又是第一题 就简单了一点

【2020CSPJ普及组】优秀的拆分

时间限制: 1000 ms 内存限制: 131072 KB
【题目描述】
一般来说,一个正整数可以拆分成若干个正整数的和。
例如,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,你需要判断这个数的所有拆分中,是否存在优秀的拆分。若存在,请你给出具体的拆分方案。
【输入】
输入只有一行,一个整数 nn,代表需要判断的数。
【输出】
如果这个数的所有拆分中,存在优秀的拆分。那么,你需要从大到小输出这个拆分中的每一个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。
若不存在优秀的拆分,输出 -1。
【输入样例】
6
【输出样例】
4 2
【提示】
样例解释
6=4+2=22+21是一个优秀的拆分。注意,6=2+2+2 不是一个优秀的拆分,因为拆分成的 3 个数不满足每个数互不相同。
输入样例2
7
输出样例2
-1
数据规模与约定
对于 20% 的数据,n≤10。
对于另外 20% 的数据,保证 n 为奇数。
对于另外 20% 的数据,保证 n 为 2 的正整数次幂。
对于 80% 的数据,n≤1024。
对于 100% 的数据,1≤n≤1×107 。

这里其实用到一个知识点

右移

右移是将一个二进制操作数对象按指定的移动位数向右移,右边溢出的位数被丢弃,正数时左边的空位用0补充,负数时则左边的空位用1补充。右移相当于除以2的幂次。将一个运算对象的各二进制位全部右移若干位,正数左补0,负数左补1.
举个例子 64>>2=16,即除了4

#include<bits/stdc++.h>
using namespace std;
int jw,n,m,sum;
int main()
{int n;cin>>n;if(n%2){cout<<"-1";}else{for(int i=25;i>=0;i--){if(n>>i & 1)cout<<(1<<i)<<" ";}}
}

http://www.mrgr.cn/news/57803.html

相关文章:

  • 完整的模型训练套路 pytorch
  • 业余时间试一试利用AI 人工智能赚钱
  • Excel自带傅里叶分析数据处理——归一化处理
  • 自动化数据库管理:如何通过存储过程动态创建 MySQL 对象
  • 【Fastjson反序列化漏洞:深入了解与防范】
  • SyncNet(同步网络)音视频同步检查
  • nginx 隐藏版本号与WEB服务器信息(yum)
  • 用户身份和访问管理是保障企业数字化转型的安全基石
  • 地平线港交所挂牌上市,开启智能驾驶新征程
  • EFCore pgsql Join 查询
  • 502 错误码通常出现在什么场景?
  • c语言指针详解2
  • Java开发者必备!0元学习Maven环境最新版超详细配置教程
  • 安全见闻(9)——开阔眼界,不做井底之蛙
  • 排序算法在最坏情况下的性能差异:深入分析
  • dcef文件下载--程序节排坑二
  • 【Java】SpringBoot实现MySQL数据库的增删查改
  • 【ROS2】在启动文件launch中,配置节点崩溃后自动重启
  • 编程中的注意事项
  • 打印一张A4纸多少钱?
  • 精品推荐 | StarPure石蜡包埋样本DNA提取试剂盒
  • Linux:sh脚本
  • 【读书笔记·VLSI电路设计方法解密】问题21:为什么降低芯片的功耗如此重要
  • vuetify页面布局
  • Spring事务详解——面试必看!
  • 常见的磁盘挂载方式