М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Bluka23
Bluka23
06.07.2020 21:10 •  Информатика

Андрей записал ряд натуральных чисел в порядке возрастания: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 и т.д. Затем вычеркнул из него все числа, в которых имеется хотя бы две одинаковых цифры, и получил последовательность: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23 и т.д. Вам необходимо по заданному N найти N-ое по счету число в получившейся последовательности.

Формат входных данных
В единственной строке входного файла записано натуральное число N (1 ≤ N ≤ 100000).

Формат выходных данных
Вывести N-ое по счету число без одинаковых цифр.

Пример:
B.in B.out
100 123

👇
Ответ:
yulenkaradosti
yulenkaradosti
06.07.2020

B.in B.out

45. 245

4,4(65 оценок)
Открыть все ответы
Ответ:
Монстрик789
Монстрик789
06.07.2020
Const maxn=15;
var a: array[1..maxn] of integer;
    skv,prod,gr,i: integer;
begin
  writeln('введите ',maxn,' чисел');
  skv:=0;  prod:=1;
  gr:=0;
  for i:=1 to maxn do
  begin
    write(i,': ');  readln(a[i]);
    if a[i]<0 then skv:=skv+a[i]*a[i];
    if (a[i] mod 2 = 0) and (i mod 2 = 0) then
       prod:=prod*a[i];
    if abs(a[i])>100 then gr:=gr+1;
  end;
  writeln('сумма квадратов отрицательных:  ',skv);
  writeln('произведение четных на четных местах:  ',prod);
  writeln('больше 100 по модулю:  ',gr);
end.

введите 15 чисел
1: 151
2: -231
3: 104
4: 19
5: 36
6: -112
7: 5
8: 8
9: 11
10: 13
11: 45
12: 5
13: 6
14: 17
15: 19
сумма квадратов отрицательных:  65905
произведение четных на четных местах:  -896
больше 100 по модулю:  4
4,6(14 оценок)
Ответ:
Nightmare5467
Nightmare5467
06.07.2020
Любое произведение чисел будет четным, если оно содержит хотя бы оин четный сомножитель, поэтому задача сводится к определению того, есть ли в массиве хоть один четный элемент с нечетным порядковым номером.
Почему просто не попытаться перемножить эти элементы? Например потому, что максимальное целое значение в компьютерной математике ограничено количеством байт, отводимых для представления данных такого типа и редко превышает 2³². А представление с плавающей точкой - приближенное и проверять четность для подобных чисел часто оказывается бессмысленным.

// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
  var a:=ArrRandom(10,-15,15); a.Println;
  if a.Where((x,i)->i.IsEven).Any(x->x.IsEven) then
    Writeln('Четное')
  else Writeln('Нечетное')
end.

Тестовое решение
13 3 5 4 15 7 -15 -4 7 12
Нечетное

Пояснения.
1. var a:=ArrRandom(10,-15,15); - описывается динамический массив "а", который создается и заполняется данными.
2. a.Println; - вывод элементов массива.
3. a.Where((x,i)->i.IsEven) выделяет из массива "а" элементы, у которых индекс четный (массив "а" - динамический и его элементы индексируются от нуля, поэтому элементы с нечетным порядковым номером имеют четные индексы).
Полученная последовательность элементов посредством Any(x->x.IsEven) проверяется на наличие хотя бы одного элемента с четным значением. Проверка возвращает логическое значение, на основе которого формируется вывод.
4,4(40 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ