Răspuns :
var a,i,n:integer;begin a:=0; readln(n); for i:=n downto 0 do a:=a+sqr(i); writeln(a);end.
Exista o formula: n(n + 1)(2n +1) / 6
Numai ca nu putem sa o scriem direct deoarece vom depasi limita tipului de date, asa ca va trebui s-o punem intr-un maod cat mai "economic"
#include <iostream>
using namespace std;
int main()
{
long long n,mod=10234573,a,b;
cin>>n;
a=n+1;
b=2*n+1; //Cei trei termeni ai fractiei sunt n, (n+1), si (2n + 1) si ii voi lua separat
//Noi trebuie sa impartim termenii inmultirii la 6, adica la 2*3, si vom face impartirea pe rand.
if(n%2==0) n/=2; //Daca n e par atunci se poate imparti la 2
else a/=2; //Altfel, inseamna ca a=n+1 este par, si-l impartim pe el
if(n%3==0) n/=3; //Acelasi lucru ca mai sus, numai ca impartirea e la 3
else if(a%3==0) a/=3;
else b/=3;
cout<<n%mod*a%mod*b%mod; //Aplicam mod la fiecare termen, ca sa fim siguri ca nu depaseste limita tipului de date long long
}
Numai ca nu putem sa o scriem direct deoarece vom depasi limita tipului de date, asa ca va trebui s-o punem intr-un maod cat mai "economic"
#include <iostream>
using namespace std;
int main()
{
long long n,mod=10234573,a,b;
cin>>n;
a=n+1;
b=2*n+1; //Cei trei termeni ai fractiei sunt n, (n+1), si (2n + 1) si ii voi lua separat
//Noi trebuie sa impartim termenii inmultirii la 6, adica la 2*3, si vom face impartirea pe rand.
if(n%2==0) n/=2; //Daca n e par atunci se poate imparti la 2
else a/=2; //Altfel, inseamna ca a=n+1 este par, si-l impartim pe el
if(n%3==0) n/=3; //Acelasi lucru ca mai sus, numai ca impartirea e la 3
else if(a%3==0) a/=3;
else b/=3;
cout<<n%mod*a%mod*b%mod; //Aplicam mod la fiecare termen, ca sa fim siguri ca nu depaseste limita tipului de date long long
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!