Описаний нижче стандартний алгоритм дозволяє виконувати будь-які дії з цифрами натурального числа, в незалежності від значності числа.
Число, після використання цього алгоритму, стає рівним 0! Тому рекомендується зберігати вхідне значення числа у іншій змінній.
Дано натуральне число n. Визначте у ньому суму цифр.
| Ввід | Вивід |
|---|---|
| 2345 | 14 |
| 15 | 6 |
Вхідні:
Вихідні:
Проміжні:
#include <iostream>
using namespace std;
int main()
{
long int n; int c, s = 0; // n - вхідне число, c - поточна цифра, s - сума цифр
cin >> n; // Введення числа
do
{
c = n % 10; // Отримуємо останню цифру числа
s = s + c; // Додаємо цифру до суми
n = n / 10; // Видаляємо останню цифру з числа
} while (n > 0); // Повторюємо, доки в числі залишаються цифри
cout << s; // Виведення суми цифр
return 0;
}
Дано натуральне число. З’ясуйте, скільки разів у ньому зустрічається перша цифра.
Для розв’язання цієї задачі потрібно два перебори числа: перший перебір знаходить першу цифру числа, а другий перебір підраховує, скільки таких цифр у числі.
| Ввід | Вивід | Пояснення |
|---|---|---|
| 5455 | 3 | Перша цифра 5. Таких цифр 3 |
| 4 | 1 | Перша цифра 4. Таких цифр 1 |
Вхідні:
Вихідні:
Проміжні:
#include <iostream>
using namespace std;
int main()
{
long int n, x; int c, k = 0; // n - оригінальне число, x - копія числа, c - поточна цифра, k - лічильник
cin >> n; // Введення числа
x = n; // Зберігаємо копію числа
// Знаходимо першу цифру числа
while (n > 9) // Поки число має більше однієї цифри
{
n = n / 10; // Відкидаємо останню цифру
}
// Рахуємо кількість цифр, що дорівнюють першій цифрі
do
{
c = x % 10; // Отримуємо останню цифру
if (c == n) // Якщо цифра співпадає з першою цифрою числа
{
k++; // Збільшуємо лічильник
}
x = x / 10; // Видаляємо останню цифру
} while (x > 0); // Повторюємо, доки в числі залишаються цифри
cout << k; // Виводимо кількість цифр, що дорівнюють першій цифрі
return 0;
}
Дано натуральне число n. Знайдіть максимальну цифру та її порядковий номер. Якщо максимальних цифр декілька, то визначте порядковий номер першої з них, якщо цифри рахувати зліва направо.
Для розв’язання цієї задачі потрібно використовувати два алгоритми: перший – перебір цифр числа, а другий – знаходження найбільшої цифри.
| Ввід | Вивід | Пояснення |
|---|---|---|
| 4525 | 5 2 | Найбільша цифра 5. Якщо рахувати цифри зліва направо, то перша з них має порядковий номер 2. |
Вхідні:
Вихідні:
Проміжні:
Якщо для порядкового номера найбільшої цифри при рахуванні справа та зліва використовувати одну і ту ж змінну nmax, то порядковий номер максимальної цифри, якщо рахувати зліва направо буде nmax=k-nmax.
#include <iostream>
using namespace std;
int main()
{
long int n;
int c, max_digit, max_pos = 1, k = 1; // n - вхідне число, c - поточна цифра, max_digit - максимальна цифра, max_pos - її позиція, k - лічильник позицій
cin >> n; // Введення числа
do
{
c = n % 10; // Отримання останньої цифри
if (k == 1 || c >= max_digit) // Якщо це перша цифра або цифра більша/рівна поточному максимуму
{
max_digit = c; // Оновлюємо максимальну цифру
max_pos = k; // Запам'ятовуємо її позицію
}
k++; // Збільшуємо лічильник позицій
n = n / 10; // Видаляємо останню цифру
} while (n > 0); // Повторюємо, доки є цифри
int nmax = k - max_pos; // Обчислюємо позицію від початку числа
cout << max_digit << " " << nmax; // Виводимо максимальну цифру та її позицію
return 0;
}
- Дано натуральне число n. Знайдіть кількість цифр 5.
- Дано натуральне число n. Знайдіть суму квадратів його цифр.
- Дано натуральне число n. Знайдіть середнє арифметичне його цифр.
- Дано натуральне число n. Знайдіть добуток його цифр.
- Дано натуральне число. Знайти його першу цифру.
- Дано натуральне число n. Знайдіть суму його першої та останньої цифр.
- Дано натуральне число. Знайти його другу (с початку) цифру.
- Дано натуральне число. Чи є в ньому цифра 3?
- Дано натуральне число. З’ясуйте, скільки разів у ньому зустрічається остання цифра.
- Дано натуральне число n. З’ясуйте, скільки разів у ньому зустрічається цифра A.
- Дано натуральне число n. Чи вірно, що сума його цифр більша за D?
- Дано натуральне число n. Чи вірно, що добуток його цифр більше за B?
- Дано натуральне число n. Чи є в ньому цифра A?
- Дано натуральне число. Чи вірно, що воно починається та закінчується однаковими цифрами?
- Дано натуральне число. З’ясуйте, чи є різниця між його максимальною та мінімальною цифрами парним числом.
- Дано натуральної число. З’ясуйте, яка цифра розташована у ньому лівіше: максимальна чи мінімальна.
- Дано натуральне число. З’ясуйте, скільки разів у ньому зустрічається максимальна цифра.