3785 - AI

From Bitnami MediaWiki
Revision as of 19:03, 12 December 2023 by Oros Ioana Diana (talk | contribs) (Pagină nouă: == Cerința == Să se afle valoarea expresiei E(n), modulo 1.000.000.007. == Date de intrare == Fișierul de intrare al.in conține pe prima linie numerele n, a, b, separate prin spațiu. == Date de ieșire == Fișierul de ieșire al.out va conține pe prima linie valoarea expresiei E(n), modulo 1.000.000.007. == Restricții și precizări == ~ 1 ≤ n ≤ 10(12) <br> ~ 1 ≤ a , b ≤ 20 == Exemplu 1 == ; Intrare : al.in :3 5 12 ; Ieșire : al.out :1918 <br> == Exemplu 2 ==...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Să se afle valoarea expresiei E(n), modulo 1.000.000.007.

Date de intrare

Fișierul de intrare al.in conține pe prima linie numerele n, a, b, separate prin spațiu.

Date de ieșire

Fișierul de ieșire al.out va conține pe prima linie valoarea expresiei E(n), modulo 1.000.000.007.

Restricții și precizări

~ 1 ≤ n ≤ 10(12)
~ 1 ≤ a , b ≤ 20

Exemplu 1

Intrare
al.in
3 5 12
Ieșire
al.out
1918


Exemplu 2

Intrare
al.in
10 5 8
Ieșire
al.out
765450729


Rezolvare

<syntaxhighlight lang="python" line>

  1. 3785 - AI

import math

def calculate_E(n, a, b):

   alpha = math.atan(a * b)
   result = 0
   
   for k in range(1, n + 1):
       term = 2 * (a**2 + b**2) * k**2 * math.cos(k * alpha)
       result = (result + term) % 1000000007
   
   return result

with open("al.in", "r") as file:

   n, a, b = map(int, file.readline().split())

result = calculate_E(n, a, b)

with open("al.out", "w") as file:

   file.write(str(result))

</syntaxhighlight>