当前位置:网站首页>L1-025 positive integer a+b (Lua)
L1-025 positive integer a+b (Lua)
2022-07-07 19:14:00 【Just be interesting】
subject
The goal of the question is very simple , It's two positive integers A and B And , among A and B It's all in the range [1,1000]. A little bit of a hassle , The input is not guaranteed to be two positive integers .
Input format :
Type in on a line to give A and B, They are separated by spaces . The problem is A and B It doesn't have to be a positive integer , Sometimes it can be out of range numbers 、 negative 、 A real number with a decimal point 、 It's even a mess of code .
Be careful : Let's put... In the input 1 A space is taken as A and B Separation of . Make sure that there is at least one space for the question , also B It's not an empty string .
Output format :
If the input is really two positive integers , According to the format A + B = And the output . If an input is not satisfactory , Output at corresponding position ?, Obviously at this time and also ?.
sample input 1:
123 456
sample output 1:
123 + 456 = 579
sample input 2:
22. 18
sample output 2:
? + 18 = ?
sample input 3:
-100 blabla bla…33
sample output 3:
? + ? = ?
Code
function io.read2value()
local s = io.read()
local n = #s
for i = 1, n do
if s:sub(i, i) == " " then
return s:sub(1, i - 1), s:sub(i + 1)
end
end
end
local s1, s2 = io.read2value()
local flag1, flag2 = true, true
if tostring(tonumber(s1)) ~= s1 or s1:find(".", 1, true) ~= nil then
flag1 = false
end
if tostring(tonumber(s2)) ~= s2 or s2:find(".", 1, true) ~= nil then
flag2 = false
end
local s = ""
local n1, n2 = tonumber(s1), tonumber(s2)
if n1 and (n1 <= 0 or n1 > 1000) then flag1 = false end
if n2 and (n2 <= 0 or n2 > 1000) then flag2 = false end
s = s .. (flag1 and n1 or "?")
s = s .. " + "
s = s .. (flag2 and n2 or "?")
s = s .. " = "
s = s .. ((flag1 and flag2) and (n1 + n2) or "?")
print(s)
边栏推荐
- 数据验证框架 Apache BVal 再使用
- Charles+Postern的APP抓包
- [tpm2.0 principle and Application guide] Chapter 16, 17 and 18
- Seize Jay Chou
- Rules for filling in volunteers for college entrance examination
- Continuous test (CT) practical experience sharing
- RISCV64
- [Base64 notes] [suggestions collection]
- ES6 note 1
- Differences between rip and OSPF and configuration commands
猜你喜欢
Redis
博睿数据入选《2022爱分析 · IT运维厂商全景报告》
50亿,福建又诞生一只母基金
Nat address translation
3. About cookies
【软件测试】从企业版BOSS直聘,看求职简历,你没被面上是有原因的
Numpy——axis
Do you know all four common cache modes?
Simple configuration of single arm routing and layer 3 switching
I feel cheated. Wechat tests the function of "size number" internally, and two wechat can be registered with the same mobile number
随机推荐
coming! Gaussdb (for Cassandra) new features appear
GSAP animation library
Hongmeng smart home [1.0]
LeetCode 497(C#)
[Blue Bridge Cup training 100 questions] sort scratch from small to large. Blue Bridge Cup scratch competition special prediction programming question centralized training simulation exercise question
Static routing configuration
咋吃都不胖的朋友,Nature告诉你原因:是基因突变了
Is AI more fair than people in the distribution of wealth? Research on multiplayer game from deepmind
How to estimate the value of "not selling pens" Chenguang?
IP netns command (memo)
SD_ DATA_ RECEIVE_ SHIFT_ REGISTER
I feel cheated. Wechat tests the function of "size number" internally, and two wechat can be registered with the same mobile number
POJ 2392 Space Elevator
数据验证框架 Apache BVal 再使用
Zhong Xuegao wants to remain innocent in the world
Tapdata 的 2.0 版 ,开源的 Live Data Platform 现已发布
Multimodal point cloud fusion and visual location based on image and laser
Cloud security daily 220707: Cisco Expressway series and telepresence video communication server have found remote attack vulnerabilities and need to be upgraded as soon as possible
Reuse of data validation framework Apache bval
Thread factory in thread pool