0
点赞
收藏
分享

微信扫一扫

【团体程序设计天梯赛-部分练习集】

夹胡碰 2022-05-05 阅读 73

文章目录

L1-012 计算指数~5

真的没骗你,这道才是简单题 —— 对任意给定的不超过 10 的正整数 n,要求你输出 2
n
。不难吧?

输入格式:
输入在一行中给出一个不超过 10 的正整数 n。

输出格式:
在一行中按照格式 2^n = 计算结果 输出 2
n
的值。

输入样例:

5

输出样例:

2^5 = 32

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
·
代码如下:

n = int(input())
print("2^{} = {}".format(n, 2**n))

L1-008 求整数段和~10

给定两个整数A和B,输出从A到B的所有整数以及这些数的和。

输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。

输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。

输入样例:

-3 8

输出样例:

   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
·
代码如下:
方法一:

A, B = input().split()
A, B = eval(A), eval(B)         # eval() 去掉字符
sum1, c = 0, 0
for i in range(A, B+1):
    sum1 += i                   # 输出的值依次相加
    if c % 5 == 0 and c != 0:   # 每5个数字换行
        print("\n", end='')
    c += 1                      # 每走一次循环一次
    print("%5d" % i, end='')    # 每个数字占5个字符宽度
print("\nSum = %d" % sum1)      # 所有和的结果
exit(0)                         # 退出程序

方法二:

a, b = map(int, input().split())
sum2, c = 0, 0
for i in range(a, b+1):
    sum2 += i
    c += 1                          # 每每循环一次
    if c == 5:                      # 第5个换行
        print("{:>5d}".format(i))   # 占符5位,且右对齐
        c = 0                       # 注意c=0,便于后面数字不足五位,换行
    else:
        print("{:>5d}".format(i), end='')
if c != 0:                          # 不可省略,否则失去一个测试点,即扣一分
    print()
print("Sum =", sum2)

知识点:python-右对齐


L1-017 到底有多二~15

一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。

输入格式:
输入第一行给出一个不超过50位的整数N。

输出格式:
在一行中输出N犯二的程度,保留小数点后两位。

输入样例:

-13142223336

输出样例:

81.82%

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

n = input()
a, b, n2 = 1, 1, 0          # n2存储2的出现次数
li = len(str(abs(int(n))))  # 输入的个数长度
# print(li)
for i in n:                 # 遍历输入的n
    if '2' == i:            # 找到2
        n2 += 1             # 每找到一次增加一次
if int(n) < 0:              # 当输入的数是负数时
    a *= 1.5
if int(n) % 2 == 0:         # 当为偶数时
    b *= 2
print("{:.2%}".format(n2/li*a*b))

1038 统计同成绩学生~20


每日一言:


持续更新中…


python自学网

举报

相关推荐

0 条评论