- 0370038003300381586930599574
鸡兔同笼
描述
一个笼子里面关了若干只鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里脚的总数为a,则笼子里面至少有多少只动物,至多有多少只动物?
输入格式
第1行输入一个正整数n(n≤1000),表示测试数据的组数n,接下来n组测试数据每组一行,每行一个正整数a(a<32768)。提示: 输入使用input(),不要增加额外的提示信息 。
输出格式
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数之间用一个空格分开。输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数之间用一个空格分开。 如果没有满足要求的答案,则输出两个0。
输入输出示例
输入 输出 示例1 2
3
20
0 0
5 10
n = int(input()) l=list() for i in range(n): a=int(input()) if a%2!=0: min=max=0 else: j=a/4 i=a%4/2 min=int(i+j) max=int(a/2) l+=[(min,max)] for b,c in l: print (b,c)
-
算24
描述
给出4个小于10的正整数,可以使用加、减、乘、除4种运算以及括号把4个数连接起来得到一个表达式。现在问题是,是否存在一种方式使得所得表达式的结果等于24。
这里加、减、乘、除以及括号的运算结果和运算优先级跟平常定义一致。
例如,对于5,5,5,1,可知5×(5-1/5)=24。又如,对于1,1,4,2无论如何都不能得到24
输入格式
在代码中的输入部分输入4个小于10的正整数。输入使用input(),不要增加额外的提示信息。
输出格式
对于每一组测试数据,输出一行,如果可以得到24,输出"YES"其算法;否则“NO”。
输入输出示例
输入 输出 示例 1 5
5
5
1
YES
((5-(1/5))*5)示例2 1
1
1
1
NO from itertools import permutations n1 = input() n2 = input() n3 = input() n4 = input() n = n1+n2+n3+n4 sum = 1 for i in n: sum *= eval(i) if sum < 24: print("NO") exit() notation = ['+', '-', '*', "/"] st = set() num = 0 number = set(permutations(n)) for i in notation: s = i t1 = notation.copy() t1.remove(i) for j in t1: s += j t2 = t1.copy() t2.remove(j) for p in t2: s += p st.add(s) s = i+j s = i newst = set() for i in number: for j in st: newst.add(i[0]+j[0]+i[1]+j[1]+i[2]+j[2]+i[3]) all = set() for i in newst: i1 = '('+i[0:3]+')'+i[3:] i2 = i[0:2]+'('+i[2:5]+')'+i[5:] i3 = i[0:4] + '(' + i[4:] + ')' i4 = '(('+i[0:3]+')'+i[3:5]+")"+i[5:] i5 = i[0:2]+'(('+i[2:5]+')'+i[5:]+")" i6 = '(' + i[0:2] + '(' + i[2:5] + '))' + i[5:] i7 = i[0:2]+'('+i[2:4]+'('+i[4:]+"))" all.add(i1) all.add(i2) all.add(i3) all.add(i4) all.add(i5) all.add(i6) all.add(i7) result = [] for i in all: try: if eval(i) == 24: result.append(i) except: pass print("YES") print("("+sorted(result)[0]+")")
- 3003000370038003300381586930672300
温度转换异常处理
描述
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度采用大写字母 C 或小写字母 c 结尾,温度可以是整数或小数,如:12.34C 指摄氏度 12.34 度;
(2) 输入输出的华氏度采用大写字母 F 或小字字母 f 结尾,温度可以是整数或小数,如:87.65F 指华氏度 87.65 度;
(3) 考虑异常输入的问题,如输入不合法则抛出异常;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
输入格式
输入一个带单位的温度
输出格式
输入正常,输出转换后的温度,保留小数点后2位小数。
当用户输入值末位不是“C、c、F、f”中的一个时,输出"输入错误,末位只能是'C','c','F','f'"
当检测到NameError错误时输出'试图访问的变量名不存在'
当检测到SyntaxError 错误时输出'存在语法错误'
输入输出示例
输入 输出 示例 1 102F
102D
AC
102ff
38.89C
输入错误,末位只能是'C','c','F','f'
试图访问的变量名不存在
存在语法错误
try: n=input() if n[-1] in ['F','f']: C=(eval(n[0:-1])-32)/1.8 print("{:.2f}C".format(C)) elif n[-1] in ['C','c']: F=eval(n[0:-1])*1.8+32 print("{:.2f}F".format(F)) else: print("输入错误,末位只能是'C','c','F','f'") except NameError: print("试图访问的变量名不存在") except SyntaxError: print("存在语法错误")
- 03000370038003300381586930705846
同符号数学运算
描述
读入一个整数N,分别计算如下内容:
1. N的绝对值;
2. N与10进行同符号加法、减法和乘法运算,同符号运算指使用N的绝对值与另一个数进行运算,运算结果的绝对值被赋予N相同的符号,其中,0的符号是正号。
将上述4项结果在一行输出,采用空格分隔,输出结果均为整数。
输入
示例1:100
输出
示例1:100 110 90 1000
N=int(input()) if N>=0: print(N, N+10, abs(N-10), N*10) else: print(-N, -(abs(N)+10), -abs((abs(N)-10)), N*10)
-
三角函数计算
描述
根据下面公式计算并输出x的值,a和b的值由用户输入,括号里的数字是角度值, 圆周率的值使用数学常数math.pi。
输入格式
输入包括两行, 每行一个数字。
输出格式
一个数值
输入输出示例
输入 输出 示例 1 2
5-0.9209814967618768 import math a=eval(input()) b=eval(input()) c=math.sin(math.pi/3) d=math.cos(math.pi/3) x=(-b+(2*a*c*d)**0.5)/(2*a) print(x)
-
棋盘放米
描述
相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔 (国际象棋发明者),问他需要什么,达依尔回答说:“国王只要在国际象棋的棋盘第一个格子里放一粒麦子,第二个格子里放两粒,第三个格子里放四粒,按此比例以后每一格加一倍,一直放到64格(国际象棋棋盘是8×8=64格),我就感恩不尽,其他的我什么也不要了,”国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿全用没了,再来一袋很快又没有了,结果全印度的粮食全部用完还不够,国王纳闷,怎样也算不清这笔账,请你帮国王计算一下,共需多少粒麦子,写出程序。
输入格式
该题目没有输入
输出格式
一个正整数
s=1 a=1 for i in range(1,64): a=a*2 s=s+a print(s)
- 0370038003300381586930784901
鸡兔同笼
描述
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
这四句话的意思是:
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?请编一个程序,用户在同一行内输入两个整数,代表头和脚的数量,编程计算笼中各有多少只鸡和兔,假设鸡和兔都正常,无残疾。如无解则输出Data Error!
a,b = input().split() #读入两个数到a b中 a,b = map(int,input().split(',')) #读入两个整数到a,b中,输入的数用逗号分隔 a,b = map(int,input().split(' ')) #读入两个整数到a,b中,输入的数用空格分隔
输入格式
在一行里输入两个整数,用空格分隔
输出格式
在一行里输出两个正整数,分别是鸡和兔的数量,用空格分隔
如无解则输出Data Error!
输入输出示例
输入 输出 示例 1 35 94
-4 16
23 12
Data Error!
a,b = map(int,input().split(' ')) if(a > 0 and b >0 and b % 2 == 0 and b-2*a>0): for j in range(1,a+1): t=a-j if 4*t+2*j==b: print("{} {}". format(j,t)) else: print("Data Error!")
- 370038003300381586930889055
数列求和
描述
给定某数字a(1≤a≤9)以及非负整数n(0≤n≤100000),求数列之和sum=a+aa+aaa+⋯+aa⋯a(n个a)。例如a=2, n=3时,sum=2+22+222=246。
输入格式
输入有两行:
第一行输入数字a
第二行输入非负整数n
输出格式
输出其N项数列之和S的值。
输入输出示例
输入 输出 示例 1 2
3
1
0
246
0
a=eval(input()) n=int(input()) sum=0 b=0 for i in range(n): b=b+a*(10**i) sum=sum+b print(sum)