👤

Cerința

Fiind dat N, un număr natural nenul, calculați suma S=12+22+32+⋯+N2, modulo 10.234.573.

Date de intrare

Programul citește de la tastatură numărul N.


Date de ieșire

Programul va afișa pe ecran numărul S, modulo 10.234.573.


Restricții și precizări

1 ≤ N ≤ 2.000.000.000

Exemplu

Intrare
4
Ieșire
30

Rezolvare:
#include

using namespace std;

int main()
{ unsigned long long N,S;
cin>>N;

S=(N*(N+1)*(2*N+1))/6;


cout<

return 0 ;
}

Problema este ca imi da doar 50 de puncte nu stiu de ce? Va rog ajutati-ma!


Răspuns :

#include<iostream>

using namespace std;

int main()

{

long long n,m,r,a,b,c,rez;

cin>>n;

m=10234573;

r=n%6;

switch(r)

{

case 0: a=(n/6)%m;

b=(n+1)%m;

c=(2*n+1)%m;

break;

case 1: a=n%m;

b=((n+1)/2)%m;

c=((2*n+1)/3)%m;

break;

case 2: a=(n/2)%m;

b=((n+1)/3)%m;

c=(2*n+1)%m;

break;

case 3: a=(n/3)%m;

b=((n+1)/2)%m;

c=(2*n+1)%m;

break;

case 4: a=(n/2)%m;

b=(n+1)%m;

c=((2*n+1)/3)%m;

break;

case 5: a=n%m;

b=((n+1)/6)%m;

c=(2*n+1)%m;

break;

}

rez=(a*b)%m;

rez=(rez*c)%m;

cout<<rez;

return 0;

}