Sunteți pe pagina 1din 4

Lectia nr.

1 Centru HaiLaOlimpiada Vaslui

Implementarea algoritmilor din teoria numerelor


- pentru dezvoltarea abilitaților de programare.
Implementarea algoritmilor

Preambul:
Cunoașteți probabil cu toții cum micul Gauss (Johann Carl Friedrich Gauss, 1777-1855,
matematician german de geniu) a calculat suma primelor 100 de numere naturale, a observat ca
însumând in ordine inversa trebuie sa obțină același rezultat iar pe coloane fiecare suma este
101:
S= 1 + 2+ 3+ ...+100
S=100+99+98+...+1
2S=101+101+101+...101
100∗101
Deci 2S=101*101 adică S=
2
Sume
n
n( n+1)
Suma primelor n numere naturale(Suma Gauss): ∑ k= 2
.
k =1

n
2 n(n+ 1)(2 n+1)
Suma primelor n pătrate perfecte: ∑ k = .
k =1 6
n 2
n( n+1)
Suma primelor n cuburi perfecte: ∑ k 3=
k =1
[ 2
. ]
n
1 1 1 1 1
Suma înjumătățirii intervalului ∑ k
=1− n ( se folosește k = k −1 − k )
k =1 2 2 2 2 2

n n n n n
Reguli : ∑ (a ¿ ¿ k +¿ bk )=∑ ak +∑ b k ¿ ¿ si ∑ aak =a ∑ ak
k =1 k=1 k=1 i=1 i=1

Calculați :
n
1 1 1 1
1. ∑ . (se folosește = − )
k =1 k (k +1) k (k+ 1) k (k +1)
n
2. S=1*3+3*5+5*7+..+(2n-3)(2n-1) (se folosește ∑ (2 k−3)(2 k −1)=
k =2
n

∑ ( 4 k 2−8 k +3 )=4 S 2−8 S1 +3 n+1)


k =2
Lectia nr.1 Centru HaiLaOlimpiada Vaslui

Aplicații:
1. Campion.edu.ro capete
A fost o dată un balaur cu 6 capete. Într-o zi Făt-Frumos s-a supărat şi i-a tăiat un cap.
Peste noapte i-au crescut alte 6 capete în loc. Pe acelaşi gât! A doua zi, Făt-Frumos iar i-
a tăiat un cap, dar peste noapte balaurului i-au crescut în loc alte 6 capete ... şi tot aşa
timp de n zile, În cea de (n+1)-a zi, Făt-Frumos s-a plictisit şi a plecat acasă!
Ex: n=3 se va afișa 15
2. Campion.edu.ro pinochio
În fiecare zi nelucrătoare din săptămână, Pinochio spune câte o minciună datorită căreia
nasul acestuia creşte cu câte p centimetri pe zi. Sâmbăta şi duminica, când vine bunicul
Gepeto acasă, pentru a nu-l supăra prea tare, Pinochio reuşeşte să nu spună nici o
minciună, ba chiar uitându-se în oglindă observă că în fiecare din aceste zile lungimea
nasului său scade cu câte 1 centimetru pe zi. Când începe o nouă săptămână, rămânâd
singur acasă Pinochio continuă şirul minciunilor.
Ex: 2 1 8 se va afișa 6
3. Pbinfo.ro #1740
Se dau 2 numere naturale, a şi b. Să se determine dacă a se poate scrie că suma de b
numere naturale consecutive.
Ex: 12 3 răspunsul va fi DA. Explicație: 12=3+4+5
4. Pbinfo.ro #332
Să se scrie un program care citește numărul natural n și determină suma
S=1*2+2*3+3*4+...+n*(n+1).

Ex : 4 se va afișa 40
Explicație : 1*2+2*3+3*4+4*5=2+6+12+20=40
5. Pbinfo.ro #974
Să se afle suma resturilor împărțirii tuturor numerelor naturale de la 1 la n printr-un
număr k.
Ex: 7 4 Se afișează valoarea 12
Explicație: Împărțind numerele de la 1 la 7 prin 4 obținem resturile: 1,2,3,0,1,2,3. Suma
lor este 12.
6. Pbinfo.ro #2201
Într-un grup sunt n prieteni. Când se întâlnesc se salută, fiecare dând mână cu toți
ceilalți. Câte strângeri de mână au loc?
Ex: n=3 Se va afișa valoarea 3

Cifra de control
Cifra de control se obține efectuând suma cifrelor  sale, apoi suma cifrelor acestei sume
etc. pana se obține o suma formata  dintr-o singura cifra. Aceasta cifra se numește cifra
de control.   

Ex: 12345 ->15->6


Lectia nr.1 Centru HaiLaOlimpiada Vaslui

if(n==0) cout<<0;
else if(n%9==0) cout<<9;
else cout<<n%10;

1. Să se scrie un program care primește ca argumente două numere naturale a şi b şi


returnează numărul de elemente din intervalul [a,b] care au cifra de control egală cu a.
Ex: a=2 , b=100 Se afișează valoarea 11
Puncte laticeale
Problema : (Marele Premiu Paco 2000)

Se dă o grilă de puncte laticeale de dimensiuni NxN, se cere să se determine numărul de pătrate care se
pot forma astfel ca vârfurile lor să aparțină punctelor din grilă.

De exemplu pe o grilă de dimensiuni 3x3 există 6 pătrate.

Rezolvare:

Un pătrat cu latura ce conține L puncte, ce are laturile paralele cu axele de coordonate poate fi
translatat în (N – L + 1) x (N – L + 1) poziții diferite pe grila noastră.

Considerăm pentru un pătrat din mulțimea soluțiilor, dreptunghiul minim cu laturile paralele cu axele de
coordonate ce conține acest pătrat. Este ușor să vedem că acest dreptunghi este de fapt un pătrat. Într-
un pătrat ce are L puncte pe latura înscrie L – 2 pătrate care nu au laturile paralele cu axele de
coordonate.

Astfel vedem că numărul total de pătrate pe o grilă N x M este:


Lectia nr.1 Centru HaiLaOlimpiada Vaslui

Sumă după L de la 2 la N de (N – L + 1) x (N – L + 1) x (L – 1) =

suma L de la 1 la N -1 de (N – L) x (N – L) x L = suma cu L de la 1 la N – 1 de LN^2 – 2 NL^2 + L^3 = N^2 x


suma L de la 1 la N-1 - 2N suma L de la 1 la N – 1 de L^2 + suma de L de la 1 la N – 1 de L^3 = N^2 x N(N-
1)/2 - 2N n(n-1)(2n-1)/6 + [n(n-1)/2]^2.

Tema :
1. Să se scrie un program care citește numărul natural n(n<=10) și
determină suma
S=5+55+555+...+55..5(de n ori) .
50 ( 10n−1 ) −45 n
Indicație : se folosește formula S=
81

Probleme pbinfo.ro
#47, #46, #1360, #1858,#1336,#1888,#1934,#1470
Probleme campion :
Control1

Prof. Nicu Vlad-Laurentiu

S-ar putea să vă placă și