В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
адекс3
адекс3
18.03.2020 04:18 •  Информатика

(C++) Для двух натуральных чисел P и Q, меньших 1000000, напишите программу, которая определяет, числа являются взаемнопростимы (не имеют общих делителей, кроме 1). Нужно зделать с ссылками!

Показать ответ
Ответ:
MashaE631
MashaE631
19.02.2020 03:47
Здесь пришлось учитывать положительные и отрицательные числа, т.к. длина строки с отрицательным числом включает в себя и знак минус. Поэтому в некоторых местах программы я добавлю пояснение.

var
   n,p:integer;
   s: string;
begin
  write ('Введите число: ');
  readln (n);
  if n<0 then n:=-n; // отрицательное число переделываем в положительное, чтобы "длина строки" ниже не получилась больше количества цифр в числе
  str(n,s); // преобразуем число в строку, чтобы узнать длину числа (количество цифр)
  if (length(s) mod 2)=0 then n:=n div 10; // проверяем длину числа на четность. так как нам нужны цифры с НЕЧЕТНЫХ мест, убираем из числа последнюю цифру, которая стоит на ЧЕТНОМ месте:    
  p:=1;
  while n>=1 do begin // организуем цикл ПОКА число не станет меньше единицы (в цикле мы будем отрезать от него по две цифры)
    p:=p*(n mod 10); // произведение умножаем на последнюю цифру числа (остаток от деления числа на 10)
    n:=n div 100; // отрезаем от числа 2 последние цифры. (в последней итерации цикла оно примет вид 0,0х, т.е. будет больше 0, но меньше 1)
  end;
  writeln;
  writeln ('Произведение цифр,которые расположены на нечётных позициях, = ',p);
  end.


Проимер:

Введите число: -2323
Произведение цифр,которые расположены на нечётных позициях, = 4
0,0(0 оценок)
Ответ:
vgubajdullin
vgubajdullin
14.12.2020 04:08
Вот без массива.

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadArrReal('Площади:',20);
  var u:=ReadArrReal('Урожай:',20);
  s.Zip(u,(x,y)->y/x).Println
end.

Пример работы программы
Площади: 3200 2670 1530 3040 2360 2350 1250 4150 4790 2210 4300 2950 3100 4290 3710 3790 2930 2380 4630 3760
Урожай: 55040 84639 56151 107008 83308 58045 40500 46065 148969 24310 46010 97645 102920 50193 115752 142125 82040 29988 170384 90616
17.2 31.7 36.7 35.2 35.3 24.7 32.4 11.1 31.1 11 10.7 33.1 33.2 11.7 31.2 37.5 28 12.6 36.8 24.1

Вот с массивом )))

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadArrReal('Площади:',20);
  var u:=ReadArrReal('Урожай:',20);
  var q:=s.Zip(u,(x,y)->y/x).ToArray; q.Println
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота