fbpx

Problema #1912 – Becuri – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Chris vă propune un joc cu becuri.

  • în joc sunt n becuri
  • inițial toate cele n becuri au culoarea albastru
  • fiecare bec poate avea doar două culori: roșu sau albastru
  • se efectuează n parcurgeri, pentru k de la 1 la n. La parcurgerea de rang k, se schimbă culoarea fiecărui bec situat pe poziţii având indicii multipli de k, din roşu în albastru şi invers.

Știind numărul n de becuri, să se afișeze numărul de becuri care au culoarea roșie după terminarea jocului.

Date de intrare

Fișierul de intrare becuri.in conține pe prima linie numărul de becuri n.

Date de ieșire

Fișierul de ieșire becuri.out va conține pe prima linie numărul de becuri care au culoarea roșie după terminarea jocului.

Restricții și precizări

  • numerotarea pozițiilor becurilor începe cu 1
  • 1 ≤ n ≤ 109

Exemple

becuri.in becuri.out
6 2
10 3
18 4
#include <bits/stdc++.h>
using namespace std;
ifstream cin("becuri.in");
ofstream cout("becuri.out");
int main()
{
    int n , nrd , cnt = 0 , d = 1 , i = 1;
    cin >> n;
    while(i * d <= n)
    {
        cnt++;
        i++;
        d++;
    }
    cout << cnt;
    return 0;
}
Comentarii

S-ar putea sa iti placa