Informatică, întrebare adresată de olarescudavid, 9 ani în urmă

AJUTATI-MA,VA ROG MULT CU PROBLEMA ACEASTA,NU-MI IESE!


Cerința

Dându-se n, un număr natural, să se afle numărul de pătrate care au colţurile coordonate numere întregi cuprinse între 0 şi n inclusiv.

Date de intrare

Programul citește de la tastatură un număr natural n.

Date de ieșire

Programul va afişa pe ecran un număr natural, reprezentând numărul de pătrate formate cu cele (n+1)2 puncte. Deoarece rezultatul poate fi mare, se va afişa răspunsul modulo 666013.

Restricții și precizări
•1 ≤ n ≤ 2.000.000.000
•Pentru teste în valoare de 30 de puncte, n ≤ 10
•Pentru teste în valoare de 75 de puncte, n ≤ 2.000.000




Exemplu

Intrare
2


Ieșire
6


Explicație

Pătratele ce se formează au colţurile:
1.(0, 0), (0, 1), (1, 1), (1, 0)
2.(0, 1), (0, 2), (1, 2), (1, 1)
3.(1, 0), (1, 1), (2, 1), (2, 0)
4.(1, 1), (1, 2), (2, 2), (2, 1)
5.(0, 0), (0, 2), (2, 2), (2, 0)
6.(0, 1), (1, 2), (2, 1), (1, 0)

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
13
http://pastebin.com/ESrceM4Z
Dacă nu înțelegi ceva să mă întrebi.


Liviu1: L-am testat aici si primeste doar 10 puncte. http://www.pbinfo.ro/?pagina=probleme&id=1124
Liviu1: Este cumva si alta rezolvare ? Fara a fi folosite operatiile cu biti
wizzardspin: #include <iostream>
using namespace std;
unsigned long long n1, n2;
int main()
{
const int m = 666013;
long long n;
cin >> n;
n++;
n1=n*n;
n2=n1-1;
if(n1%4==0)
n1=n1/4;
else
n2=n2/4;
if(n1%3==0)
n1=n1/3;
else
n2=n2/3;
cout<<((n1%m)*(n2%m))%m;
return 0;
}
Alte întrebări interesante