Найти одинаковые цифры двух чисел
С клавиатуры вводятся два натуральных числа. Определить цифры, входящие в запись как первого так и второго числа.
В цикле пока одно из чисел полностью не сократится будем выполнять следующее:
- Сохраним последнюю цифру первого ( a ) числа в переменной d .
- После этого сразу же удалим эту цифру из числа.
- Присвоим переменной c второе введенное число ( b ). Значение c будем изменять. Значение b должно сохраниться для последующих проверок совпадающих цифр.
- Во внутреннем цикле перед удалением последней цифры числа c будем проверять совпадает ли она с цифрой d . Если это так, то выведем ее на экран и прервем внутренний цикл.
Таким образом, каждая цифра первого числа будет сравниваться со всеми цифрами второго числа.
var a, b, c: longint; d: byte; begin readln(a, b); while a > 0 do begin d := a mod 10; a := a div 10; c := b; while c > 0 do begin if c mod 10 = d then begin write(d, ' '); break; end; c := c div 10; end; end; writeln; end.
Пример выполнения кода:
564 8954 4 5
Данная программа имеет следующую особенность. Если в первом числе есть одинаковые цифры, каждая из них будет сравниваться с цифрами второго числа, и два раза найдется совпадение. Пример выполнения с побочным эффектом:
54436 341 3 4 4
jtprogru / main.go
Clone via HTTPS Clone with Git or checkout with SVN using the repository’s web address.
Learn more about clone URLs
Даны два числа. Определить цифры, входящие в запись как первого, так и второго числа.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| package main |
| import ( |
| «fmt» |
| ) |
| func main () |
| var a , b , ar , br , temp int |
| _ , _ = fmt . Scan ( & a , & b ) |
| temp = a |
| for |
| if temp % 10 != 0 |
| ar ++ |
| temp = temp / 10 |
| > else |
| break |
| > |
| > |
| temp = b |
| for |
| if temp % 10 != 0 |
| br ++ |
| temp = temp / 10 |
| > else |
| break |
| > |
| > |
| for i := ar ; i > 0 ; i — |
| t := 1 |
| for j := 0 ; j < i - 1 ; j ++ |
| t = t * 10 |
| > |
| va := 0 |
| if i == ar |
| va = a / t |
| > else if i < ar |
| va = a / t — a / t / 10 * 10 |
| > |
| for i := br ; i > 0 ; i — |
| t := 1 |
| for j := 0 ; j < i - 1 ; j ++ |
| t = t * 10 |
| > |
| vb := 0 |
| if i == br |
| vb = b / t |
| > else if i < br |
| vb = b / t — b / t / 10 * 10 |
| > |
| if va == vb |
| fmt . Print ( vb , » » ) |
| > |
| > |
| > |
| > |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Golang задачка по циклам на проверку совпадения цифр в двух числах
Даны два числа. Определить цифры, входящие в запись как первого, так и второго числа. Программа получает на вход два числа. Гарантируется, что цифры в числах не повторяются. Числа в пределах от 0 до 10000. Программа должна вывести цифры, которые имеются в обоих числах, через пробел. Цифры выводятся в порядке их нахождения в первом числе. Ввод: 564 8954 Вывод: 5 4 код: `
var a, b, c, d int fmt.Scan(&a, &b) for a > 0 < d = a % 10 a = a / 10 c = b for c >0 < if c % 10 == d < fmt.Println(d, " ") >c = c / 10 > > fmt.Println("\n")
` Выводится 4 5, как изменить порядок проверки, вывода?
Отслеживать
задан 27 апр 2021 в 9:17
1 1 1 серебряный знак 1 1 бронзовый знак
Даны два числа. Определить цифры, входящие в запись как первого так и второго числа.

Існує прямий зв’язок між кількістю сміття, що продукує людство, і кліматичними змінами. Нагрівання повітря відбувається за рахунок викидів парникових … газів. Ці речовини виділяються, зокрема при розкладанні та переробці побутових відходів. Таким чином, що більше сміття нагромаджують люди, тим більший є наш внесок у нагрівання планети. Скорочення числа звалищ залишається найважливішим фактором сталого управління відходами в ЄС — і в цьому плані Європейський союз став світовим лідером завдяки своїм законам і політиці. На аркуші 2 таблиці створіть нормовану лінійну діаграму, яка проілюструє, як чинять з відходами у деяких країнах світу та Україні. Перемістіть її на окремий аркуш.
Термін розкладання відходів На аркуші 1 створіть стовпчасту діаграму, яка демонструватиме терміни розкладу сміття. хелп сос
Укажіть ознаку, за якою програма MS Excel відрізняє формулу від значення: a. Результат обчислення за формулою вирівнюється по центру b. Формула завж … ди містить посилання на клітинки c. Формула завжди починається із вбудованої функції SUM d. Формула завжди починається зі знака = (дорівнює)
Бұл немелелер и қандай қызметің атқарады
Сұрақтарға жауап берем 1. Модельдеу дегеніміз не? 2. Объект моделін жасау үшін қай құралдарды көбірек пай- даландындар? 3. Программада қандай ыдыстар … жасауға болады? ПЖЖЖ ТЕЗ ТЕЕЗЗЗ ЖАУАП БЕРЫНДЕРШЫ ӨТІНІШ