第三周练习

1.鸡兔同笼

描述

一个笼子里面关了若干只鸡和兔子(鸡有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 = eval(input())
l = list()
for k in range(n):
    a = int(input())
    if (a%2) != 0:
        min = max = 0
    else:
        j = int(a/4)
        i = a%4
        m = int(i/2)
        min = m+j
        max = int(a/2)
    l += [(min,max)]
for b,c in l:
    print(b,c,end=‘‘)
    print(end=‘\n‘)

2.算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])
# print(newst)
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]+")")

3.温度转换异常处理

描述????????????????????????????????????????????????????????????????????????????????????????????????

温度的刻画有两个不同体系:摄氏度(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:
    a=input()
    if a [-1] in [‘c‘,‘C‘]:
        f=1.8*eval(a[0:-1])+32
        print("{:.2f}F".format(f))
    elif a [-1] in [‘f‘,‘F‘]:
        c=(eval(a[0:-1])-32)/1.8
        print("{:.2f}C".format(c))
    else:
        print("输入错误,末位只能是‘C‘,‘c‘,‘F‘,‘f‘")
except NameError :
    print("试图访问的变量名不存在")
except SyntaxError:
    print(‘存在语法错误‘)

4.同符号数学运算

????????????????????????????????????????????????????????????????????????????????????????????????

描述

读入一个整数N,分别计算如下内容:????????????????????????????????????????????????????????????????????????????????????????????????

1. N的绝对值;????????????????????????????????????????????????????????????????????????????????????????????????

2. N与10进行同符号加法、减法和乘法运算,同符号运算指使用N的绝对值与另一个数进行运算,运算结果的绝对值被赋予N相同的符号,其中,0的符号是正号。????????????????????????????????????????????????????????????????????????????????????????????????

将上述4项结果在一行输出,采用空格分隔,输出结果均为整数。????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????


输入

示例1:100????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????


输出

示例1:100 110 90 1000????????????????????????????????????????????????????????????????????????????????????????????????

n = eval(input())
N = abs(n)
if n < 0:
    a = -abs(N + 10)
    b = -abs(N - 10)
    c = -abs(N * 10)
else:
    a = abs(N + 10)
    b = abs(N - 10)
    c = abs(N * 10)
print(N, a , b, c)

5.三角函数计算

????????????????????????????????????????????????????????????????????????????????????????????????

描述

????????????????????????????????????????????????????????????????????????????????????????????????

根据下面公式计算并输出x的值,a和b的值由用户输入,括号里的数字是角度值, 圆周率的值使用数学常数math.pi。????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????

输入格式

输入包括两行, 每行一个数字。????????????????????????????????????????????????????????????????????????????????????????????????

输出格式

一个数值????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????

输入输出示例

????????????????????????????????????????????????????????????????????????????????????????????????

  输入 输出
示例 1 2
5
 -0.9209814967618768
import math
a=eval(input())
b=eval(input())
c=math.sqrt(2*a*math.sin(math.radians(60))*math.cos(math.radians(60)))
x=(-b+c)/(2*a)
print(x)

6.棋盘放米

????????????????????????????????????????????????????????????????????????????????????????????????

描述

相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔 (国际象棋发明者),问他需要什么,达依尔回答说:“国王只要在国际象棋的棋盘第一个格子里放一粒麦子,第二个格子里放两粒,第三个格子里放四粒,按此比例以后每一格加一倍,一直放到64格(国际象棋棋盘是8×8=64格),我就感恩不尽,其他的我什么也不要了,”国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿全用没了,再来一袋很快又没有了,结果全印度的粮食全部用完还不够,国王纳闷,怎样也算不清这笔账,请你帮国王计算一下,共需多少粒麦子,写出程

n=1
m=0
for i  in range(1,65):
    n=pow(2,i-1)
    m=m+n
print(m)

7.鸡兔同笼

描述

大约在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=int(input("头:"))
b=int(input("脚:"))
if(a > 0 and b >0 and b % 2 == 0 and b-2*a>0):
    for x in range(1,a+1):
        y=a-x
        if 4*x+2*y==b:
            print("兔子有{} 鸡有{}". format(x,y))
else:
    print("Data Error!")

8.数列求和

????????????????????????????????????????????????????????????????????????????????????????????????

描述

给定某数字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=int(input())
b=int(input())
n=0
sum=0
for i in range (1,b+1):
    n = (n * 10)+a
    sum = sum + n
print(sum)

原文地址:https://www.cnblogs.com/567823a/p/12587818.html

时间: 2024-08-26 07:07:47

第三周练习的相关文章

第三周活动进度

学习进度表:   第三周内容 时间 周一(4:10-6:00)上课,周二晚上(8:00-9:00),周四晚上(8:00-8:30),周四下午(4:10-6:00)javaweb课程 代码行数 200行 发博客量 3篇 了解到的知识 随机数的产生,四则运算的开发思路(分解),简单的数据库创建表. 周活动详细记录表: 日期/内容 写代码 上网查方法 上课 看书(构建执法) 3.6 2小时(150行)大概完成   2小时   3.7   查询缺失功能的方法   1小时 3.8         3.9

20145207《Java程序设计》第三周学习总结

20145207<Java程序设计>第三周学习总结 教材学习内容总结 这部分可能要扒一些课本而上的东西了.在第三章中,知道了Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.在这一周主要学习了类类型. 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制. 简单来说,类是对象的设计图,对象是类的实例. 要深刻理解对象的含义,例如Clothes c1 = new Clot

每周学习进度--第三周

  第三周 所花时间(包括上课) 300min 代码量 258 博客量 2 了解到的知识点 初步了解了如何做软件需求分析

20145326蔡馨熠《信息安全系统设计基础》第三周学习总结

教材学习内容总结 书上有的内容我就不重复赘述了,只需要将部分重要的知识点归纳总结一下. 1.进制 二进制.八进制.十进制.十六进制(转换:以二进制作为中间变量) 2.字 每台计算机都有一个字长,指明整数和指针数据的大小. 虚拟地址是以这样的一个字来编码的,字长决定虚拟地址空间的最大范围. 3.字节顺序 小端法——在存储器中按照从最低有效字节到最高有效字节的顺序存储对象. 大端法——从最高有效字节到最低有效字节的顺序存储. 4.布尔代数 (1)二进制值是计算机编码.存储.操作信息的核心(0.1),

马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

第三周学习总结

20145336第三周JAVA实验报告 20145336 <Java程序设计>第三次实验实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 姓名:张子扬 指导教师:娄嘉鹏 实验日期:2016.04.22 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验内容: XP基础 XP核心实践 相关工具 实验目的与要求: 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 完成实验.撰

印度浦那三周感受

本来打算写印度浦那一周感受的,结果一周过去了一个字都没写,然后打算写二周感受,结果第二周也没找到时间来写.第三周是异常繁忙的一周,终于在周末找到了一点时间来编写. 这次去印度浦那是作为ThoughtWorks University的Coach,需要在印度呆3个多月. 2月27日从成都出发到浦那,整个过程非常纠结,需要成都飞上海,然后上海飞德里,最后德里飞浦那.整个行程从周六下午的2点到周日早上的7点才完成.周日早上的7点是浦那的时间.浦那和中国有两个半小时的时差,所以浦那的早上7点是中国的早上9

20145123刘森明《Java程序设计》第三周学习总结

教材学习内容总结 ·理解Clothes c1 = new Clothes();·构造方法决定类生成对象的方式:this.new·== 与 equals的区别:==比较是比较对象的地址,而equals 是逻辑上相等·基本类型包装:int-Integer.long-Long.byte-Byte.float-Float.double-Double.boolean-Boolean....·String/StringBuffer/StringBuilder·学会使用Java API,在Windows下一定

第三周学习进度

本周最大的收获就是体验了结对开发的乐趣,虽然两个人开始有争议,但是最后都得到了解决.   第三周 所花时间(包括上课) 上课时间:4小时  阅读<构建之法>三小时 编写程序19 小时 代码量(行) 1100 博客量 2 了解到的知识 结对开发.如何提意见

Linux内核设计第三周——构造一个简单的Linux系统

Linux内核设计第三周 ——构造一个简单的Linux系统 一.知识点总结 计算机三个法宝: 存储程序计算机 函数调用堆栈 中断 操作系统两把宝剑: 中断上下文的切换 进程上下文的切换 linux内核源代码分析 arch/目录保存支持多种CPU类型的源代码 其中的关键目录包括:Documentation.drivers.firewall.fs(文件系统).include init目录:含有main.c,内核启动相关的代码基本都在init目录下 start_kernal()函数为启动函数,初始化内