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])#最后只有一个胜

总结

中秋节快乐!!!

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

相关推荐
free-elcmacom8 小时前
深度学习<4>高效模型架构与优化器的“效率革命”
人工智能·python·深度学习·机器学习·架构
半夏知半秋8 小时前
docker常用指令整理
运维·笔记·后端·学习·docker·容器
liliangcsdn8 小时前
python模拟beam search优化LLM输出过程
人工智能·python
LXS_3579 小时前
Day 18 C++提高 之 STL常用容器(string、vector、deque)
开发语言·c++·笔记·学习方法·改行学it
蒸蒸yyyyzwd9 小时前
网络编程——threadpool.h学习笔记
笔记·学习
浪子不回头4159 小时前
SGLang学习笔记
人工智能·笔记·学习
王琦03189 小时前
Python 函数详解
开发语言·python
胡伯来了9 小时前
13. Python打包工具- setuptools
开发语言·python
小鸡吃米…9 小时前
Python 中的多层继承
开发语言·python