CCF CSP认证 历年题题目自练Day16

CCF CSP认证 历年题题目自练Day16

题目一

试题编号: 201712-1

试题名称: 最小差值

时间限制: 1.0s

内存限制: 256.0MB

问题描述:

问题描述

给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。

输入格式

输入第一行包含一个整数n。

第二行包含n个正整数,相邻整数之间使用一个空格分隔。

输出格式

输出一个整数,表示答案。

样例输入

5

1 5 4 8 20

样例输出

1

样例说明

相差最小的两个数是5和4,它们之间的差值是1。

样例输入

5

9 3 6 1 3

样例输出

0

样例说明

有两个相同的数3,它们之间的差值是0.

数据规模和约定

对于所有评测用例,2 ≤ n ≤ 1000,每个给定的整数都是不超过10000的正整数。

题目分析(个人理解)

  1. 常规输入,还是直接存在列表里面,n=int(input())
    l=list(map(int,input().split()))
  2. 核心思路很简单,第一轮比较:把l[0]和ll[1]到l[n-1]比较,一直轮到l[n-2]和l[n-1]比较,用abs()函数去计算差值,把最小的值赋值给min即可。
  3. 代码如下!!!
python 复制代码
n=int(input())
l=list(map(int,input().split()))
min=10000
for i in range(n-1):#遍历每一个l[i]
    for j in range(i+1,n):#遍历l[i]后面的每一个元素
        if abs(l[i]-l[j])<min:
            min=abs(l[i]-l[j])
print(mi)

题目二

试题编号: 201712-2

试题名称: 游戏

时间限制: 1.0s

内存限制: 256.0MB

问题描述:

问题描述

有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,......,1号小朋友坐在n号小朋友的顺时针方向。

游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时,该小朋友获胜。

例如,当n=5, k=2时:

1号小朋友报数1;

2号小朋友报数2淘汰;

3号小朋友报数3;

4号小朋友报数4淘汰;

5号小朋友报数5;

1号小朋友报数6淘汰;

3号小朋友报数7;

5号小朋友报数8淘汰;

3号小朋友获胜。

给定n和k,请问最后获胜的小朋友编号为多少?

输入格式

输入一行,包括两个整数n和k,意义如题目所述。

输出格式

输出一行,包含一个整数,表示获胜的小朋友编号。

样例输入

5 2

样例输出

3

样例输入

7 3

样例输出

4

数据规模和约定

对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ k ≤ 9。

答题栏

试题编号: 201712-2

试题名称: 游戏

题目分析(个人理解)

  1. 看题目,常规输入,我直接
    n,k=map(int,input().split())
  2. 然后把小朋友的编号迭代生成并放在列表 l 中。l=[i for i in range(1,n+1)]
  3. 注意k的取值范围,我第一次做漏掉了k=1的情况,只能拿到90分,遍历每一个小朋友的编号,将满足条件的编号依次放入列表s中,最后把他们从l中踢出去,最后列表l只有一个元素,输出即可!
  4. 上代码!!!
python 复制代码
n,k=map(int,input().split())
l=[i for i in range(1,n+1)]#存同学编号
m=1#计数
if k==1:#此种情况只有最后一个同学没被淘汰
    print(n)
else:
    while len(l)>1:
      s=[]#存储本次遍历淘汰的编号
      for i in l:
        if m%k==0 or m%10==k:
            s.append(i)
        m+=1
      for i in s:
        l.remove(i)#移动出去
    print(l[0])#最后只有一个胜

总结

中秋节快乐!!!

从小学到大学一直联系的好兄弟:

相关推荐
lkasi19 分钟前
python文字转wav音频
开发语言·python
哦豁灬42 分钟前
NCNN 学习(2)-Mat
深度学习·学习·ncnn
Bruce小鬼43 分钟前
最新版本TensorFlow训练模型TinyML部署到ESP32入门实操
人工智能·python·tensorflow
Length-vision44 分钟前
Linux入门学习:Linux调试器gdb使用
linux·学习
白如意i1 小时前
如何在 Ubuntu 16.04 服务器上安装 Python 3 并设置编程环境
linux·python·ubuntu
繁依Fanyi1 小时前
使用 Spring Boot + Redis + Vue 实现动态路由加载页面
开发语言·vue.js·pytorch·spring boot·redis·python·算法
鸽芷咕1 小时前
【Python报错已解决】xlrd.biffh.XLRDError: Excel xlsx file; not supported
开发语言·python·机器学习·bug·excel
茶馆大橘2 小时前
(黑马点评)八、实现签到统计和uv统计
数据库·redis·学习·阿里云·黑马点评
铁匠匠匠2 小时前
【C总集篇】第八章 数组和指针
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
Unicorn建模2 小时前
2024“华为杯”中国研究生数学建模竞赛(E题)深度剖析|数学建模完整过程+详细思路+代码全解析
python·算法·数学建模