38行代码AC——L1-025 正整数A+B (15分)(~解题报告~)
立志用更少的代码做更高效的表达
题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。
输入格式:
输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。
注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。
输出格式:
如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?,显然此时和也是?。
输入样例1:
123 456
输出样例1:
123 + 456 = 579
输入样例2:
22. 18
输出样例2:
? + 18 = ?
输入样例3:
-100 blabla bla…33
输出样例3:
? + ? = ?
几个特殊样例
输入: 1 1000
输出: 1 + 1000 = 1001
输入:123 33(中间两个空格)
输出:123 + ? = ?
输入: 1 001
输出: 1 + 1 = 2
代码展示
#include <bits/stdc++.h>
using namespace std;
int main() {char a[1000],b[1000];int sum1=0,sum2=0;bool flag1 =true,flag2=true;int len1,len2;scanf("%s",a);len1 = strlen(a);for (int i=0;i<len1;i++) if (a[i]>'9'||a[i]<'0')flag1=false;if (flag1) {sum1=a[0]-'0';for (int i=1;i<len1;i++)sum1=sum1*10+(a[i]-'0');}getchar();scanf("%[^\n]",b);len2 = strlen(b);for (int i=0;i<len2;i++) if (b[i]>'9'||b[i]<'0')flag2=false;if (flag2) {sum2 = b[0]-'0';for (int i=1;i<len2;i++)sum2 = sum2*10+(b[i]-'0');}if (flag1&&sum1>=1&&sum1<=1000)printf("%d + ",sum1);else printf("? + ");if (flag2&& sum2>=1&&sum2<=1000)printf("%d = ",sum2);else printf("? = ");if (flag1&&sum1>=1&&sum1<=1000 && flag2&& sum2>=1&&sum2<=1000)printf("%d",sum1+sum2);else printf("?");return 0; }
每日一句
记住,不要愤怒,因为愤怒会降低你的智慧;也不要仇恨自己的敌人,因为仇恨会使你丧失判断力。与其恨自己的敌人,不如拿他来为我所用。
38行代码AC——L1-025 正整数A+B (15分)(~解题报告~)相关推荐
- 9行代码AC——1011 A+B 和 C (15分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定区间 [−231,231] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: ...
- 21行代码AC——例题5-2 Ducci序列(Ducci Sequence,UVa1594)——解题报告
励志用少的代码做高效的表达. 题目(提交)链接→UVa-1594 本题为水题,因此侧重点从解题转变为优化. 注意点: 1.下一轮是按照上一轮的每个数做运算,但下一轮每次运算都会改变数列的值,造成运算不 ...
- 15行代码AC——习题5-5 复合词(Compound Words, UVa 10391)——解题报告
励志用少的代码做高效的表达 题目(提交)链接→UVA-10391 本题实质是#include<string>头文件的substr()字符串分割函数与#include<algorith ...
- 15行代码AC_ 【蓝桥杯】兴趣小组(解题报告+思考)
励志用更少的代码做更高效的表达 问题描述: 为丰富同学们的业余文化生活,某高校学生会创办了3个兴趣小组 (以下称A组,B组,C组). 每个小组的学生名单分别在[A.txt],[B.txt]和[C.tx ...
- 38行代码AC——UVA-167The Sultan‘s Successors(八皇后问题,附视频讲解)
最近备考蓝桥,学习到递归模块,从最基本的八皇后及其变种开始刷起(如果可以穿越,我一定要抓到发明递归的那个人,然后把他干掉,造福后世的算法er,). 题目大意 一个人,没孩子,要在死前分割财产,然后出了 ...
- 5行代码AC——L1-029 是不是太胖了 (5分)
据说一个人的标准体重应该是其身高(单位:厘米)减去100.再乘以0.9所得到的公斤数.已知市斤的数值是公斤数值的两倍.现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧--) 输 ...
- 22行代码AC_Prime Number Aizu - 0009(素数筛)(解题报告)
励志用更少的代码做更高效的表达 题意: 给一个数n,问1~n内有多少个素数 题目: Write a program which reads an integer n and prints the nu ...
- 23行代码AC_2017 蓝桥杯A组 正则问题(解题报告)
励志用少的代码做高效表达 题目描述 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式. 小明想求出这个正则表达式能接受的最长字符串的长度. 例如 ((xx|xxx)x|(x|xx)) ...
- 12行代码AC——L1-058 6翻了(15分)
立志用更少的代码做更高效的表达 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&quo ...
最新文章
- 每日一皮:上线前加了一个小特性,结果......
- php pdo 方法,PHP使用PDO修改数据的方法
- 去除(还原)git diff 时出现的 ^M
- Visual Studio Code 支持TensorFlow配置支持
- MasterPage 变化了的 ClientID ctl00_
- oracle.sql.clob 报错,oracle11g java导出excel报错oracle.sql.CLOB@xxxx问题
- 提供 web前端、H5、html页面 技术服务
- 基于小脑模型神经网络轨迹跟踪matlab程序
- linux下安装mysql
- Flutter 和 Dart 开发中一些技巧和坑点填坑指南详解
- c++ stl源码-我理解的空间配置器
- 是你需要的前端编码风格吗?
- 此共享需要过时的smb1协议
- JAVA 用enum 来枚举java项目中的错误信息
- 华为C8815 ROOT 成功
- getElementByClassName
- 模拟卷Leetcode【普通】1109. 航班预订统计
- ffmpeg转换avi、mp4等视频格式为yuv格式
- 云原生架构总览,发展定义架构及趋势
- AD19原理图页面大小等参数修改