当前位置:网站首页>7-14 错误票据(PTA程序设计)
7-14 错误票据(PTA程序设计)
2022-07-06 09:22:00 【编程林黛玉】
某涉密单位下发了某种票据,并要在年终全部收回。
每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。
因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。
你的任务是通过编程,找出断号的ID和重号的ID。
假设断号不可能发生在最大和最小号。
输入格式:
要求程序首先输入一个整数N(N< 100)表示后面数据行数。
接着读入N行数据。
每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000),请注意行内和行末可能有多余的空格,你的程序需要能处理这些空格。
每个整数代表一个ID号。
输出格式:
要求程序输出1行,含两个整数m n,用空格分隔。
其中,m表示断号ID,n表示重号ID
输入样例:
在这里给出一组输入。例如:
2
5 6 8 11 9
10 12 9
输出样例:
在这里给出相应的输出。例如:
7 9
代码(Python):
list1=[] #辅助输入n行错误票据
list2=[] #存放错误票据
n=int(input()) #n表示后面数据行数
for i in range(n): #存入错误票据,循环n次表示数据行数
list1.clear() #每次循环之前,将list1中的数据清空
list1=list(map(int,input().split())) #输入每行数据给list1
for i in range(len(list1)): #将list1中的每个数据存入list2中
list2.append(list1[i])
xiao=min(list2) #取错误票据中的最小值
da=max(list2) #取错误票据中的最大值
for i in range(xiao,da+1): #找断号
if i not in list2: #判断最小值与最大值之间的每一个数是否都在list2中
duan=i #如果不在的话,则该数就是断号
print(duan,end=' ') #输出断号,以空格结尾
for i in list2: #找到重号
if list2.count(i)==2: #用Python中的内置函数count,统计list2中每个元素出现的次数,如果出现了两次,则该元素就是重号
print(i,end='') #输出重号
break #因为已经找到重号,所以退出循环
我在一开始看到这道题的时候以为它很难,因为看上去很复杂。但还是上手尝试了一下,发现一点也不难,就是最基础的数学知识,也没有很难的算法。所以,当大家遇到一道看上去很难的题的时候,也不要放弃,要尝试入手去做,去分析,说不定它没有很难,又或许它确实有点难度,可是不尝试怎么知道自己会不会呢,万一自己做出来了呢?所以不要给自己设限,要大胆额去尝试,去挑战。
上面的程序给出了比较详细的注释,以便新手小白参考。程序的思路设计或者代码实现并不是最优的,欢迎各位大佬指正错误或者给出更优质的思路。
我是一只想成为鲲鹏的菜鸟,大家的鼓励是我前进的动力,欢迎大家点赞收藏评论哦
边栏推荐
猜你喜欢
(super detailed II) detailed visualization of onenet data, how to plot with intercepted data flow
.Xmind文件如何上传金山文档共享在线编辑?
3. C language uses algebraic cofactor to calculate determinant
SRC挖掘思路及方法
仿牛客技术博客项目常见问题及解答(三)
Redis的两种持久化机制RDB和AOF的原理和优缺点
7. Relationship between array, pointer and array
C language Getting Started Guide
[面試時]——我如何講清楚TCP實現可靠傳輸的機制
4.分支语句和循环语句
随机推荐
8.C语言——位操作符与位移操作符
为什么要使用Redis
[modern Chinese history] Chapter 6 test
ArrayList的自动扩容机制实现原理
[the Nine Yang Manual] 2022 Fudan University Applied Statistics real problem + analysis
更改VS主题及设置背景图片
2.C语言初阶练习题(2)
ABA问题遇到过吗,详细说以下,如何避免ABA问题
Pit avoidance Guide: Thirteen characteristics of garbage NFT project
3.C语言用代数余子式计算行列式
(ultra detailed onenet TCP protocol access) arduino+esp8266-01s access to the Internet of things platform, upload real-time data collection /tcp transparent transmission (and how to obtain and write L
自定义RPC项目——常见问题及详解(注册中心)
The difference between overloading and rewriting
Mortal immortal cultivation pointer-1
Mortal immortal cultivation pointer-2
扑克牌游戏程序——人机对抗
There is always one of the eight computer operations that you can't learn programming
Implementation principle of automatic capacity expansion mechanism of ArrayList
[au cours de l'entrevue] - Comment expliquer le mécanisme de transmission fiable de TCP
Set container