3123 - summy
Cerința
Se dau n şi k numere naturale. Calculați suma ∑ni=1ik.
Date de intrare
Se dau n şi k numere naturale. Calculați suma ∑ni=1ik.
Date de ieșire
Programul va afișa pe ecran valoarea sumei ∑ni=1ik, modulo 1.000.000.007.
Restricții și precizări
- 1 ≤ n ≤ 100.000 şi 1 ≤ k ≤ 1.000.000.000 pentru 70% din teste
- 1 ≤ n ≤ 1.000.000.000 şi 1 ≤ k ≤ 100.000 pentru 30% din teste
Exemplul 1
- Intrare
- 5 3
- Ieșire
- 225
Exemplul 2
- Intrare
- 6 10
- Ieșire
- 210
Rezolvare
<syntaxhighlight lang="python" line>
- 3123 - summy
def calculate_sum(n, k):
result = (n * (n + 1) * k // 2) % 1000000007 return result
if __name__ == "__main__":
n, k = map(int, input("Introduceți n și k, separate prin spațiu: ").split())
if (1 <= n <= 100000 and 1 <= k <= 1000000000) or (1 <= n <= 1000000000 and 1 <= k <= 100000): result = calculate_sum(n, k) print(f"Suma este: {result}") else: print("false")
</syntaxhighlight>
Explicatie
∑5i=1i*3=1**3+2**3+3**3+4**3+5**3=225