首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >蓝桥杯集锦03(python3)

蓝桥杯集锦03(python3)

作者头像
全栈程序员站长
发布2021-04-19 17:27:05
发布2021-04-19 17:27:05
4400
举报

文章目录

试题 算法训练 最大最小公倍数

问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。

输入格式 输入一个正整数N。

输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 504

代码语言:javascript
复制
num = int(input())

if num%2 != 0:
	print(num*(num-1)*(num-2))
else:
	if num%3 != 0:
		print(num*(num-1)*(num-3))
	else:
		print((num-1)*(num-2)*(num-3))

试题 算法训练 图形显示

问题描述   编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数):   * * * * *   * * * *   * * *   * *   *

代码语言:javascript
复制
n = int(input())

for i in range(n,0,-1):
    for j in range(i):
        print('*',end=' ')
    print()

试题 算法训练 加法运算

问题描述   你的表妹正在学习整数的加法,请编写一个程序来帮助她学习。该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示出来。要求:在主函数中不能使用scanf等函数直接输入这两个整数,而必须通过调用GetTwoInts函数来完成,在GetTwoInts函数中可以使用scanf函数。另外,由于该函数必须同时返回两个整数,因此不能采用函数返回值的方式,而必须采用指针的方法来实现。   输入格式:输入只有一行,即两个100以内的整数。   输出格式:输出只有一行,即这两个整数之和。 输入输出样例 样例输入 4 7 样例输出 11

代码语言:javascript
复制
def GetTwoInts():
	a,b = map(int,input().split())
	return a,b

a,b = GetTwoInts()
print(a+b)

试题 历届试题 核桃的数量

问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:

  1. 各组的核桃数量必须相同
  2. 各组内必须能平分核桃(当然是不能打碎的)
  3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)

输入格式 输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30) 输出格式 输出一个正整数,表示每袋核桃的数量。 样例输入1 2 4 5 样例输出1 20 样例输入2 3 1 1 样例输出2 3

代码语言:javascript
复制
a,b,c = map(int,input().split())

i = 1
while i<= a*b*c:
	if i%a == 0 and i%b == 0 and i%c == 0:
		print(i)
		break
	else:
		i +=1

试题 历届试题 翻硬币

问题描述 小明正在玩一个“翻硬币”的游戏。

桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。

比如,可能情形是:oo*oooo

如果同时翻转左边的两个硬币,则变为:oooo***oooo

现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?

我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求:

输入格式 两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<1000

输出格式 一个整数,表示最小操作步数。

样例输入1


oo 样例输出1 5 样例输入2 ooo*** ooo*** 样例输出2 1

代码语言:javascript
复制
start_statues = input()
end_statues = input()
num = 0
s = []
e = []
for i in range(len(start_statues)):
	if start_statues[i]=='*':
		s.append(True)
	else:
		s.append(False)
	if end_statues[i]=='*':
		e.append(True)
	else:
		e.append(False)
for i in range(len(s)):
	if s[i] != e[i]:
		s[i],s[i+1] = not s[i],not s[i+1]
		num += 1
print(num)
代码语言:javascript
复制
s1 = list(input())
s2 = list(input())

num = 0
for i in range(len(s1) - 1):
	if s1[i] != s2[i]:
		if s1[i + 1] == 'o':
			s2[i], s1[i + 1] = s1[i], '*'
		else:
			s2[i], s1[i + 1] = s1[i], 'o'
		num += 1
print(num)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100095.html原文链接:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 试题 算法训练 最大最小公倍数
  • 试题 算法训练 图形显示
  • 试题 算法训练 加法运算
  • 试题 历届试题 核桃的数量
  • 试题 历届试题 翻硬币
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档