一、实操题
1、编程实现:
给定一个正整数N,输出N除以3的商。
输入描述:
输入一个正整数N
输出描述:
输出N除以3的商
样例输入:
5
样例输出:
1
参考答案:br />```pythonN = int(input())result = N // 3print(result)```
解析:【喵呜刷题小喵解析】
首先,我们需要从用户那里获取一个正整数N。然后,我们使用整数除法(`//`)来计算N除以3的商,并将结果存储在变量`result`中。最后,我们使用`print`函数将结果输出到屏幕上。
对于输入5,N=5,所以N除以3的商是1,输出结果为1。
2、编程实现:
STEM86商城按顺序摆放着“A”、“B”、“C”、“D”四种商品,其对应的编号分别为1、2、3、4。
给出1~4中任意一个编号,输出编号对应的商品。
输入描述:
输入1~4中任意一个编号
输出描述:
输出编号所对应的商品
样例输入:
2
样例输出:
B
参考答案:br />根据输入的编号,输出对应的商品。
解析:【喵呜刷题小喵解析】
根据题目描述,STEM86商城按顺序摆放着“A”、“B”、“C”、“D”四种商品,其对应的编号分别为1、2、3、4。输入是1~4中任意一个编号,输出是编号所对应的商品。
因此,我们需要编写一个程序,根据输入的编号,输出对应的商品。具体的实现方式取决于编程语言和具体需求,但基本的思路是:
1. 读取用户输入的编号;
2. 根据编号判断对应的商品;
3. 输出对应的商品。
例如,如果输入是2,那么输出就是B。如果输入是3,那么输出就是C。如果输入是4,那么输出就是D。如果输入不在1~4的范围内,那么可以根据具体需求进行处理,比如输出错误信息或者进行其他处理。
3、提示信息:
一个正整数的平方的尾数一位或者几位数等于这个正整数,称为自守数
如:正整数5的平方为25,25的尾数一位是5;
正整数25的平方为625,625的尾数两位是25。
编程实现:
给定一个正整数,判断这个正整数是否为自守数,如果是输出大写字母“Y”,否者输出大写字母“N”。
注:1为自守数
输入描述:
输入一个正整数
输出描述:
判断这个正整数是否为自守数,如果是输出大写字母“Y”,否者输出大写字母“N”
样例输入:
5
样例输出:
Y
参考答案:br />```pythondef is_armstrong(n):n_str = str(n)n_square = n ** 2n_square_str = str(n_square)if n_str == n_square_str[-len(n_str):]:return "Y"else:return "N"n = int(input())print(is_armstrong(n))```
解析:【喵呜刷题小喵解析】
根据题目要求,我们需要编写一个函数,用于判断给定的正整数是否为自守数。
首先,我们定义一个函数 `is_armstrong`,接收一个参数 `n`,表示需要判断的正整数。
然后,我们将 `n` 转换为字符串 `n_str`,计算 `n` 的平方 `n_square`,并将 `n_square` 转换为字符串 `n_square_str`。
接着,我们检查 `n_str` 是否等于 `n_square_str` 的最后 `len(n_str)` 个字符,如果是,说明 `n` 是自守数,返回大写字母 "Y",否则返回大写字母 "N"。
最后,我们调用 `input` 函数获取用户输入的正整数,并调用 `is_armstrong` 函数判断该数是否为自守数,最后使用 `print` 函数输出结果。
4、编程实现:
给出一组正整数数据和一个正整数(目标值),从这组正整数中找出两个数,使这两个数相加后的和,小于等于目标值并且离目标值最接近,然后将两个数的和输出。
如:正整数数据为【9,4,3,5】,目标值为10,其中正整数数据中4和3、4和5、3和5的和都小于目标值10,但离目标值最接近的两个数是4和5,其和为9。
输入描述:
第一行输入一组长度大于3个正整数的数据(正整数<10000),正整数之间以一个英文逗号隔开
第二行输入一个正整数 n(1<n<19997),表示目标值
输出描述:
输出一个整数。如果正整数数据中存在小于等于目标值并且离目标值最接近的两个数,则输出这两个数的和;如果正整数数据中不存在这样的两个数,即正整数数据中任意两个数的和都超过了目标值,则输出-1
样例输入:
9,4,3,5 10
样例输出:
9
参考答案:br />```pythondef find_closest_sum(nums, target):closest_sum = float('inf')closest_pair = Nonefor i in range(len(nums)):for j in range(i+1, len(nums)):num_sum = nums[i] + nums[j]if num_sum <= target and num_sum < closest_sum:closest_sum = num_sumclosest_pair = (nums[i], nums[j])if closest_pair is None:return -1else:return closest_sum# 输入nums_str = input().split(',')nums = [int(num) for num in nums_str]target = int(input())# 输出print(find_closest_sum(nums, target))```
解析:【喵呜刷题小喵解析】
这个题目要求我们从一组正整数中找出两个数,使这两个数相加后的和,小于等于目标值并且离目标值最接近,然后将两个数的和输出。
首先,我们定义一个函数`find_closest_sum`,它接受两个参数:`nums`(正整数列表)和`target`(目标值)。
在函数内部,我们初始化`closest_sum`为无穷大,`closest_pair`为`None`。这两个变量分别用来记录当前找到的最接近目标值的两个数的和,以及这两个数本身。
然后,我们使用两个嵌套的循环遍历`nums`中的所有数对。对于每一对数,我们计算它们的和,如果这个和小于等于目标值,并且比当前找到的最接近目标值的和小,我们就更新`closest_sum`和`closest_pair`。
最后,如果`closest_pair`仍然是`None`,说明没有找到符合条件的两个数,我们返回-1;否则,我们返回`closest_sum`。
在程序的主体部分,我们首先读入正整数列表`nums`和目标值`target`,然后调用`find_closest_sum`函数,并将结果输出。
5、编程实现:
小蓝桌子上摆放着一个容积为m的书包及n件不同的商品,且每件商品上都标有商品的体积和商品的价值。
小蓝要满足以下要求挑选商品装入书包中
要求1:挑选的商品总体积不超过书包的容积;
要求2:挑选的商品商品总价值最大。
请你帮助小蓝计算出能装入书包的商品的最大价值。
输入描述:
第一行输入两个正整数m和n,m表示书包的容积,n表示商品的数量。两个正整数之间一个英文逗号隔开
第二行输入n个正整数表示商品的体积,正整数之间一个英文逗号隔开
第三行输入n个正整数表示商品的价值,正整数之间一个英文逗号隔开(商品价值的输入顺序对应商品体积输入顺序)
输出描述:
输出装入书包的商品的最大价值
样例输入:
11,3 2,6,4 1,5,2
样例输出:
7
参考答案:```pythonm, n = map(int, input().split(','))volumes = list(map(int, input().split(',')))values = list(map(int, input().split(',')))dp = [[0] * (m + 1) for _ in range(n + 1)]for i in range(1, n + 1):for j in range(volumes[i - 1], m + 1):dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - volumes[i - 1]] + values[i - 1])print(dp[n][m])```
解析:【喵呜刷题小喵解析】:
本题可以使用动态规划来解决。
首先,定义二维数组dp,其中dp[i][j]表示前i个商品中挑选总体积不超过j的商品的最大价值。
然后,遍历每个商品,对于每个商品,有两种选择:
1. 不选该商品,即dp[i][j] = dp[i-1][j];
2. 选该商品,即dp[i][j] = dp[i-1][j-volumes[i-1]] + values[i-1]。
其中,volumes[i-1]表示第i个商品的体积,values[i-1]表示第i个商品的价值。
最后,输出dp[n][m]即可,表示前n个商品中挑选总体积不超过m的商品的最大价值。
具体实现时,需要注意输入和输出的格式,以及数组索引的起始值。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!