题目描述
假设我们掌握了特定时间段内特定城市的新冠病毒感染病例的信息。在排名 i 的当天有 i 个案例,即:
- 第一天有一例感染
- 第二天有两例感染
- 第三天有三例感染
- 以此类推......
请计算 n 天内的感染总数和每天平均感染数。
输入
整数 n 表示天数,其中 n < 10^9 。
输出
第一行打印 n 天的总感染人数,第二行打印每天平均病例数。
注意:如果平均值包含小数,将小数直接舍去,向下取整。
样例输入1
2
样例输出1
3
1
来源/分类(难度系数:三星)
清华社杯
完整代码展示
# coding=utf-8
import math
n=int(input())
sum=n*(n+1)/2
print(int(sum))
print("{}".format(math.floor(sum/n)))
代码解释:
import math
n=int(input())
导入math库,让用户输入天数n。
sum=n*(n+1)/2
观察每天的感染人数,得到每天的感染人数依次呈现等差数列。则由等差数列求和公式求得总感染人数sum=n*(n+1)/2。
print(int(sum))
print("{}".format(math.floor(sum/n)))
利用floor函数分别打印sum和平均值的向下取值结果。
运行效果展示 :
(声明:以上内容均为原创)