1 Востаннє редагувалося leofun01 (28.10.2018 01:45:00)

Тема: Як розкласти число на цифри (в десятковій системі).

Попередня назва: Потрібна термінова допомога в С++

Дано додане трьохзначне число N.  Перевірити, чи є серед його цифр дві однакові. Працюю у Visual Studio(С++). Не можу зрозуміти як нам число N розділити на а1 а2 а3, тобто якщо в нас число 325, то а1=3 а2=2 а3=5
За якою формулою ми можемо це зробити??

2

Re: Як розкласти число на цифри (в десятковій системі).

http://replace.org.ua/rules/
3.3. Назва теми має бути інформативною і максимально чітко відображати зміст проблеми.
Правильно: "Масив (парність та непарність)", "Обробка текстового файлу з числами", "Smarty (та інші шаблонізатори) - чи доречно застосовувати?".
Не правильно: "Допоможіть розв'язати задачу", "Потрібна допомога", "Терміново".
3.4. Бажано в повідомленні вказувати наступне:

мову програмування
середовище в якому працюєте
фрагменти непрацюючого коду
описуєте з чим у вас виникли проблеми
3.5. Теми без будь-яких напрацювань будуть просто ігноруватись учасниками форуму, а модератори при першій можливості перенесуть їх в кошик для сміття.

Подякували: leofun011

3

Re: Як розкласти число на цифри (в десятковій системі).

(N / pow(10, index)) % 10;    // формула повертає цифру

N = 325    // число
    210    // index'и цифр

4

Re: Як розкласти число на цифри (в десятковій системі).

nazar4900@ukr.net написав:

Попередня назва: Потрібна термінова допомога в С++

Дано додане трьохзначне число N.  Перевірити, чи є серед його цифр дві однакові. Працюю у Visual Studio(С++). Не можу зрозуміти як нам число N розділити на а1 а2 а3, тобто якщо в нас число 325, то а1=3 а2=2 а3=5
За якою формулою ми можемо це зробити??

Ось найлегший, на мою думку, спосіб це зробити:

a3 = N % 10
a2 = N / 10 % 10
a1 = ...

Суть в тому, що "%" - виводить остачу при ділені на певне число (в випадку

a3 = N % 10

- виводить остачу при діленні на 10)
Тобто виведення остачі ділення на 10 - це фактично виведення останньої цифри певного числа.
Для прикладу, якщо 123 % 10 - вийде 3.
А

a2 = N / 10 % 10

виводить середнє число. Так як звичайне ділення на 10 (

N / 10

) просто забирає останню цифру числа (для прикладу з 123 вийде число 12), а середнє число тепер стає останнім і ми його знаходимо за допомогою "% 10".
Третє думайте самі  ;)

Подякували: nazar4900@ukr.net1