Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Pascal > Задания с олимпиады


Автор: Napoleonsha 16.10.18, 19:03
1. Напишите программу поиска в числовой последовательности. Х1 ... ХN наименьшего элемента имеющего последнюю цифру 7, а если таких чисел нет, то программа дожна вывести 0.

формат входных данных: -109<Xk<109 и Х не равно 0, k=1..N. Признаком окончания ввода данных является чилос 0.

формат выходных данных: программа выводит наименьший элемент программы оканчивающийся на 7, если таких нет, то выводит 0


2. Напишите программу перевода натурального числа из p-ричной систему в десятичную систему счисления.

формат входных данных: программа получает два числа: P и N , где первое число это основание системы счисления (2меньше или равно P меньше или равно9), ав торое натуральное число в данной системе счисления. кол-во цифр в числе N не превышает шести.

формат выходных данных: программа выводит десятиричное число согласно услоаию задачи


3.Дано натуральное десятичное число N. Напишите программу, которая находит произведение наибольшей и наменьшей цифры данного числа

формат входных данных: программа получает десяточное число N (1меньше или равноNментше или равно109.

формат выходных данных: программа выводит произведение наименьшей и наибольшей цифр данного числа


4. Дана не пустая строка символов, среди которых встречаются цифры. Требуется написать прорамму, которая находит сумму нечетных цифр содержащихся в строке, если их нет, то выводит NO.

формат входных данных: на вход программы поступают символы. Окончанием ввода данных является символ # , после которого строка не обрабатывается, строка на вхоже не больше 1000 символов.

формат выходных данных: программа выводит сумму нечетных цифр выделенных из входной строки, если их нет, то выводит NO

Автор: Славян 17.10.18, 01:38
Схема первого такова:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    posled := 0; minim:=1000*1000*1000;
    for k:=1 to N do
    begin
      if X[k]<0 Y := -X[k];
      else Y = X[k];
      if Y-10*(Y/10) = 7 then
        if X[k]<minim then
        begin
          posled := k;
          minim = X[k];
        end;
    end;
    if posled>0 then print minim;
    else print "0";

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)