Clasa a IX-a · Cifrele unui numărRead in English
Numărul de apariții ale cifrei k în C++
În engleză: Number of occurrences of digit k
O(n)C++1737 de linii2 exemple
Ideea
Parcurgem cifrele lui n și numărăm câte sunt egale cu k. Cu do-while, pentru n = 0 și k = 0 răspunsul este corect 1.
Descrierea în engleză
We go through the digits of n and count how many are equal to k. With do-while, for n = 0 and k = 0 the answer is correctly 1.
- Complexitate
- O(c), unde c este numărul de cifre ale lui n
- Clasa
- Clasa a IX-a (Grade 9)
- Capitol
- Cifrele unui număr
Exemple
Exemplul 1
Intrare
1213141 1
Ieșire așteptată
4
Exemplul 2
Intrare
0 0
Ieșire așteptată
1
Codul C++
Codul complet, cu comentarii în română. Îl poți modifica liber și îl poți reseta oricând.
/*
* Titlu: Numărul de apariții ale cifrei k
* Clasa: 9
* Capitol: Cifrele unui număr
* Descriere: Parcurgem cifrele lui n și numărăm câte sunt egale cu k.
* Cu do-while, pentru n = 0 și k = 0 răspunsul este corect 1.
* Complexitate: O(c), unde c este numărul de cifre ale lui n
*
* Exemplu
* Intrare: 1213141 1
* Ieșire: 4
*
* Exemplu
* Intrare: 0 0
* Ieșire: 1
*/
#include <iostream>
using namespace std;
int main()
{
long long n;
int k, aparitii = 0;
cin >> n >> k;
do
{
if (n % 10 == k)
{
aparitii++;
}
n = n / 10;
}
while (n > 0);
cout << aparitii << '\n';
return 0;
}
Rulează pe un g++ adevărat (C++17, -O2) prin Compiler Explorer. Programele trebuie să se termine repede: există o limită de timp.