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

Разработайте программу, которая получает от пользователя целое число из интервала от 1000 до 9999 и выводит его написанным "справа налево": например, при вводе 2017 программа должна вывести 7102. Есть три выполнить это задание:

1.просто вывести цифры на консоль

2.сформировать результат в строке, а потом вывести его

3.получить результат в виде числа, без использования строк, а затем вывести его
Решение задачи одним даст вам двумя - 80, тремя - 100. СДЕЛАЙТЕ НА PYTHON​

👇
Открыть все ответы
Ответ:
keksikgovad
keksikgovad
04.05.2022

Количество зёрен на клетке будет равно 2^(N-1)

Тут сказано использовать переменную типа integer, при этом надо помнить, что максимальный номер клетки, который можно задавать равен 31 (для номеров выше будет либо ошибка, либо неверный ответ).

Чтобы считать зерно вплоть до последней, 64-ой клетки шахматной доски- надо менять тип на uint64 либо BigInteger (но, они не везде доступны да и программу надо будет править).

Вариант с циклом loop (в нём задаётся число повторов)

function Zern2(a: integer): integer;

begin

Result := 1;

loop a-1 do

Result := Result * 2;

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

Вариант с циклом while:

function Zern2(a: integer): integer;

begin

Result := 1;

while a>1 do

begin

Result := Result * 2;

a := a - 1;

end;

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

Вариант без цикла:

function Zern2(a: integer): integer;

begin

Result := Trunc(power(2,a-1));

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

4,8(81 оценок)
Ответ:
Осень25
Осень25
04.05.2022
 // PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-11,11); a.Println;
  // 1
  begin
    var s:=a.Where(t->t<0);
    if s.Count=0 then
      Writeln('1. Нет отрицательных элементов')
    else
      Writeln('1. Первый отрицательный элемент номер ',
          a.IndexOf(s.First)+1)
  end;
  // 2
  begin
    var s:=a.Select((v,i)->(v,i)).Where(t->(t[0]>0) and t[0].IsEven);
    if s.Count=0 then
      Writeln('2. Нет четных положительных элементов')
    else begin
      var r:=s.Last;
      Writeln('2. Последний четный положительный элемент номер ',r[1]+1,
          ', значение ',r[0])
      end
  end;
  // 3
  begin
    var s:=a.Select((v,i)->(v,i)).Where(t->t[0] mod 5=0);
    if s.Count<2 then
      Writeln('3. Нет двух элементов, кратных 5')
    else
      Writeln('3. Номер второго элемента, кратного 5, равен ',
          (s.Skip(1).Take(1)).First[1]+1)
  end;
  // 4
  begin
    var s:=a.Select((v,i)->(v,i)).Where(t->t[0]=0);
    if s.Count<3 then
      Writeln('4. Нет трех нулевых элементов')
    else begin
      s:=s.Skip(1).Take(2);
      Writeln('4. Количество положительных элементов между ',
          'вторым и третьим нулевыми элементами равно ',
          a[s.First[1]+1:s.Last[1]].Where(t->t>0).Count)
      end
  end;    
  // 5
  begin
    var s:=a.IndexesOf(t->t>0).Take(4).Select(t->t+1);
    if s.Count<4 then
      Writeln('5. Нет четырех положительных элементов')
    else begin
      Write('5. Номера первых четырех положительных элементов: ');
      s.Println
      end
  end;
  // 6
  begin
    var s:=a.IndexesOf(t->t<0);
    if s.Count=0 then
      Writeln('6. Нет отрицательных элементов')
    else
      Writeln('6. Номера первого и последнего отрицательных элементов: ',
          s.First+1,' ',s.Last+1)
  end;
  // 7
  begin
    var s:=a.IndexesOf(t->t>0);
    if s.Count=0 then
      Writeln('7. Нет положительных элементов')
    else begin
      var i1:=s.First;
      s:=a.IndexesOf(t->t<0);
      if s.Count=0 then
        Writeln('7. Нет отрицательных элементов')
      else begin
        var i2:=s.Last;
        Writeln('7. Количество четных элементов между первым ',
            'положительным и последним отрицательными элементами: ',
            a?[i1+1:i2].Where(t->t.IsEven).Count)
        end
      end  
  end
end.

Кто, что сможет. решите, на паскале 2а.1. найти номер первого отрицательного элемента массива. 2а.2.
4,8(64 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ