Условие задачи : Написать программу, подсчитывающую количество четных и нечетных цифр в числе (Язык Pascal).
Сложность : легкая
Решение задачи :
Для начала продумаем наше решение. Ну само собой сначала попросим пользователя ввести число, а затем в цикле, сначала возьмем последнюю цифру числа, проверим её на четность, и в зависимости четная она или нет увеличим кол-во четных или нечетных.
Ну а дальше оторвем последнюю цифру у числа и будем так делать пока число не станет равно 0.
Для того чтобы найти количество четных и нечетных цифр в числе нам понадобятся следующие переменные :
- Переменная number — для числа
- Переменная figure — для цифры которую мы проверять на четность
- Переменная countOdd — для количества нечетных элементов
- Переменная countEven — для количества четных
Начнем мы с каркаса нашей программы :
uses crt; var number, countOdd , countEven, figure : integer; begin write('Введите число : '); readln(number); end.
Объявили переменные и попросили пользователя ввести число , теперь цикл, подробно как правильно разбить число на цифры вы можете почитать (тут), а как определить четность числа можете (тут)
Там нечего трудного нет, и так пишем цикл :
while(number > 0) do begin figure := number mod 10; if (figure mod 2 = 0) then countEven := countEven + 1 else countOdd := countOdd + 1; number := number div 10; end;
Сначала отделили последнюю цифру, занесли её в переменную , потом проверяем четная она или нет, если да то увеличиваем количество четных элементов иначе нечетных и затем убираем последнюю цифру числа.
И нам осталось только вывести кол-во четных и нечетных элементов :
writeln('Кол-во четных элементов : ', countEven); writeln('Кол-во нечетных элементов : ', countOdd);
Всё решение задачи Pascal :
uses crt; var number, countOdd , countEven, figure : integer; // объявили переменные begin clrscr; // очищаем экран write('Введите число : '); readln(number); // вводим число while(number > 0) do // пускаем цикл пока число не станет равным 0 begin figure := number mod 10; // заносим в figure последнюю цифру числа if (figure mod 2 = 0) then countEven := countEven + 1 // если цифра четныя то увеличиваем кол-во четных else countOdd := countOdd + 1; // иначе кол-во нечетных number := number div 10; // убираем последнюю цифру числа end; writeln('Кол-во четных элементов : ', countEven); // выводим writeln('Кол-во нечетных элементов : ', countOdd); // результат readln; // чтобы программа не закрывалась end.