计算特殊序列表达式的值, a+aa+aaa+aaaa+...+a...a(N个a) 其中1<=a<=9,第N项由N个a组成.
时间: 2023-11-21 16:05:46 浏览: 197
求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值
设第N项的值为S(N),则有:
S(1) = a
S(2) = S(1) * 10 + a
S(3) = S(2) * 10 + a
...
S(N) = S(N-1) * 10 + a
可以通过递归或循环计算S(N)的值,最终得到特殊序列表达式的值为:
S = a + 11 * a + 111 * a + ... + N个a
可以化简为:
S = a * (1 + 11 + 111 + ... + 111...1(N个1))
其中括号内的式子可以用等比数列求和公式计算,得到:
S = a * (10^N - 1) / 9 * (1 + 10 + 10^2 + ... + 10^(N-1))
可以用快速幂算法来计算10的幂次,时间复杂度为O(logN),总时间复杂度为O(NlogN)。
阅读全文