Cerința
8 puncteScrieți programul Pascal corespunzător algoritmului proiectat. (8p.)
Arată baremul
3. b) Pentru program corect - 8p. -operații cu fișiere: declarare, pregătire în vederea scrierii, scriere în fișier - 1p. -determinare a valorii cerute (*),(**) - 5p. -utilizare a unui algoritm eficient (***) - 1p. -declarare a variabilelor, citire a datelor, corectitudine globală a programului¹⁾ - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm cel mult liniar care utilizează eficient memoria. O soluție posibilă are în vedere că 45=3²∙5 și parcurge numerele naturale din intervalul [2,n], determinând pentru fiecare număr curent k numărul t de apariții ale lui 3, respectiv numărul c de apariții ale lui 5, în descompunerea în factori primi a lui k, și realizând pe parcurs suma tuturor valorilor t determinate (st), respectiv suma tuturor valorilor c determinate (sc). Valoarea cerută este min([st/2],sc). O altă soluție posibilă determină valorile st și sc astfel: st=[n/3]+[n/3²]+[n/3³]+[n/3⁴]+ ...+0 sc=[n/5]+[n/5²]+[n/5³]+[n/5⁴]+ ...+0 Valoarea cerută este min([st/2],sc). ¹⁾ Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.