Programarea Calculatoarelor, seria CC
Se citeşte de la tastatură un număr natural n (1 <= n <= 10 000 ) şi o cifră c. Să se afişeze numărul de apariţii ale lui c în toate numerele de la 1 la n.
Intrare | Ieşire |
10 1 |
2 |
Se citesc 6 numere reale reprezentând coordonatele a 2 cercuri (centrul şi raza - x1 y1 r1 x2 y2 r2). Afişaţi un mesaj corespunzator dacă acestea nu se intersectează, sunt tangente sau coincid sau distanţa dintre cele 2 puncte de intersecţie altfel (cu 3 zecimale).
Intrare | Ieşire |
0 0 1 1000 1000 1 |
Nu se intersecteaza. |
1 1 1 1 1 1 |
Coincid. |
1 1 1 3 1 1 |
Tangente. |
5 5 5 6 6 6 |
7.714 |
Se citeşte de la tastatură un număr natural n (n <= 1 000 000). Afişaţi ultima cifră a sumei 1 + 2^2 + 3^3 + ... + n^n.
HINT: Nu este nevoie să calculaţi efectiv suma (numerele sunt foarte mari şi o să observaţi că n^n depăşeşte rapid dimensiunea oricărui tip întreg).
Intrare | Ieşire |
3 |
2 |
Se citeşte un număr natural x ( 0 <= x <= 1 000 000 ) şi un număr natural n (2 <= n <= 100). Să se calculeze cu 3 zecimale exacte. (NU se va folosi funcţia
HINT: Căutare binară.
Ştim sigur că soluţia y se află în intervalul [0, x] , aşa că o să testam dacă mijlocul intervalului este soluţia căutată.
În funcţie de rezultatul obţinut putem decide dacă soluţia se află în intervalul [0, x/2 - eps] sau în [x/2 + eps, x] sau dacă este chiar mijlocul intervalului, unde eps = 0.001 (precizia cu care se caută).
În funcţie de această decizie putem restrange intervalul şi relua raţionamentul de mai sus sau putem opri algoritmul dacă am găsit soluţia.
Intrare | Ieşire |
5 6 |
1.307 |
4 2 |
2.000 |
Se citeşte un număr natural n (n <= 50 000). Să se afişeze numărul k din intervalul [1, n] care are cei mai mulţi divizori. Dacă există mai multe numere cu această proprietate se va afișa cel mai mic dintre ele.
Intrare | Ieşire |
7 |
6 |