【问题描述】
输入两个整数a(大于等于1且小于等于9)和n(大于等于1且小于等于80),编程求得并输出下面等式的值:
例如:若输入的a为5,n为6,则要计算下面公式的值:
555555-55555-5555-555-55-5。
【输入形式】
从标准输入读入整数a和n,两者之间以一个空格分隔。
【输出形式】
在标准输出上输出公式的计算结果。
【样例1输入】
5 6
【样例1输出】
493830
【样例1说明】
输入的a为5,n为6,按照上述公式计算的结果为493830。
【样例2输入】
5 20
【样例2输出】
49382716049382716060
【样例2说明】
输入的a为5,n为20,按照上述公式计算的结果为49382716049382716060。
【评分标准】
该程序要求输出求得的公式的值。
a,n=map(int,input().split()) #第二题初代想法 时间O(n),空间O(n)
number=[]
temp = 0
for j in range(n):
temp=temp+a*(10**j)
number.append(temp)
differ=number[n-1]
for ele in range(0,n-1):
differ=differ-number[ele]
print(differ)
a,n=map(int,input().split()) #第二题 简化时间O(n),空间O(1)
a=-a
temp = 0
differ = 0
for j in range(n):
temp=temp+a*(10**j)
if j == n-1:
temp=-temp
differ=differ+temp
print(differ)
文章介绍了如何使用编程解决一个涉及递推关系的问题,给定两个整数a和n,计算并输出一个特定的数值表达式。给出了两种简化算法的时间和空间复杂度分析。样例展示了输入和输出的计算过程。
1万+

被折叠的 条评论
为什么被折叠?



