Дано:A:integer; загаданное число.В:integer; число отгадывающего.Входной файл содержит два числа. 1254 2546Выходной файл содержит две строки bulls - 0 cows - 3
Слайд 2
Дано: A:integer; загаданное число. В:integer; число отгадывающего.
Входной файл содержит два
числа. 1254
2546 Выходной файл содержит две строки bulls - 0 cows - 3
Слайд 3
Требуется: Найти количество цифр, стоящих на своих bulls:integer и
не на своих cows:integer местах.
Слайд 4
Быки – это количество цифр в предложенном Васей
числе, совпадающих по значению и стоящих в правильной позиции
в задуманном Петей числе. Коровы – количество цифр, совпадающих по значению, но находящихся в неверной позиции.
Слайд 5
5671 7251 Например, если Петя задумал число 5671, а Вася
предложил вариант 7251, то число быков равно 1 (только
цифра 1 на своем месте), а число коров равно 2 (только цифры 7 и 5 не на своих местах).
Слайд 6
Будем находить цифры по такому алгоритму: 1 цифра -
число делить на цело на 1000. 2 цифра - число
делить на 100 и берём остаток от деления на 10. 3 цифра - число делить на 10 и берём остаток от деления на 10. 4 цифра - берём остаток от деления на 10.
Слайд 7
Найдём кол-во быков, где Быки - одинаковые цифры
стоящие на одинаковых позициях. Для нахождения быков просто сравним
цифры с первой по четвёртую с цифрами другого числа и с таким же номером:
кол-во коров, но мы можем найти кол-во всех совпадений:
if
(a1 = b1) or (a1 = b2) or (a1 = b3) or (a1 = b4) then all:=all+1; if (a2 = b1) or (a2 = b2) or (a2 = b3) or (a2 = b4) then all:=all+1; if (a3 = b1) or (a3 = b2) or (a3 = b3) or (a3 = b4) then all:=all+1; If (a4 = b1) or (a4 = b2) or (a4 = b3) or (a4 = b4) then all:=all+1;
Слайд 10
Теперь мы нашли кол-во всех совпадений, и для
получения кол-ва коров, достаточно из этого кол-ва вычесть кол-во
быков: cows:=all-bulls;
Слайд 11
начало Ввод а, в Вычисление единиц, десяток, сотен, тысяч числа Вычисление
количества быков Нахождение количесва совпадений Вычисление количества коров Вывод результатов конец