|
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 30
|
||||||
Переполнение стека25.01.2016, 19:47. Показов 4099. Ответов 9
Метки нет (Все метки)
Добрый вечер!
Я пытался решить следующую задачку: Кликните здесь для просмотра всего текста
Петя и Вася часто играют в различные логические игры. Недавно Петя поведал Васе о новой игре «Быки и коровы» и теперь они играют в эту игру сутками. Суть игры очень проста: Петя загадывает четырехзначное число, состоящее из различных цифр. Вася отгадывает задуманное Петей число, перебирая возможные варианты. Каждый раз Вася предлагает вариант своего числа, а Петя делает Васе подсказку: сообщает количество быков и коров, после чего Вася с учетом подсказки продолжает отгадывание числа до тех пор, пока не отгадает. Быки – это количество цифр в предложенном Васей числе, совпадающих по значению и стоящих в правильной позиции в задуманном Петей числе. Коровы – количество цифр, совпадающих по значению, но находящихся в неверной позиции. Например, если Петя задумал число 5671, а Вася предложил вариант 7251, то число быков равно 1 (только цифра 1 на своем месте), а число коров равно 2 (только цифры 7 и 5 не на своих местах). Петя силен в математике, но даже он может ошибаться. Помогите Пете написать программу, которая бы по загаданному Петей и предложенному Васей числам сообщала количество быков и коров.
Входные данные Кликните здесь для просмотра всего текста
В единственной строке входного файла INPUT.TXT записано два четырехзначных натуральных числа A и B через пробел, где А – загаданное Петей число, а В – предложенный Васей вариант
Выходные данные Кликните здесь для просмотра всего текста
В выходной файл OUTPUT.TXT нужно вывести два целых числа через пробел — количество быков и коров.
Примеры № INPUT.TXT OUTPUT.TXT 1 5671 7251 1 2 2 1234 1234 4 0 3 2034 6234 2 1 Мой код:
Можете помочь мне это исправить?
0
|
||||||
| 25.01.2016, 19:47 | |
|
Ответы с готовыми решениями:
9
Переполнение стека Переполнение стека Переполнение стека |
|
Native x86
6857 / 3790 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
|
||||||
| 25.01.2016, 19:49 | ||||||
|
Какая любопытная запись условия:
1
|
||||||
|
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 30
|
||
| 25.01.2016, 19:51 [ТС] | ||
|
Таким образом я попытался реализовать условие, что подаётся на вход только четырёхзначное число. (ну и 4 ячейки массива выделены под это дело)
1
|
||
|
Native x86
6857 / 3790 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
|
||
| 25.01.2016, 19:55 | ||
|
2
|
||
|
|
|
| 25.01.2016, 20:02 | |
|
Всё верно. Так условие не пишется.
Для условия -1 < z < 4 - while ( -1 < z && z < 4 )Для условия что число четырёхзначное: while ( z > -10000 && z < 10000 )А в исходном условии получается бесконечная рекурсия, из-за чего и происходит переполнение стека.
0
|
|
|
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 30
|
||
| 25.01.2016, 20:02 [ТС] | ||
|
Я попробовал сделать так: while (z > -1 && z < 4); Мой новый метод тоже не сработал. (рекурсия никуда не делась) Можете объяснить почему?
0
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 25.01.2016, 22:04 | ||||||
0
|
||||||
|
1 / 1 / 1
Регистрация: 05.02.2018
Сообщений: 4
|
||||||
| 07.03.2018, 13:53 | ||||||
1
|
||||||
|
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
|
||||||
| 07.03.2018, 22:26 | ||||||
|
Не надо эту задачу делать через рекурсию.
И да, я таки не смог понять, что должен делать твой алгоритм (что ещё один минус к рекурсии, так как основное её преимущество — понятность). Вообще, эта задача решается очень просто. Просто надо перебирать цифры в обоих числах и считать. Так как числа маленькие, можно вообще забить на всякие оптимизации. Это можно сделать так:
0
|
||||||
| 07.03.2018, 22:26 | |
|
Помогаю со студенческими работами здесь
10
Переполнение стека Переполнение стека Переполнение стека Рекурсия - переполнение стека
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|