3. Написать программу вычисления xy, не используя функцию возведения в степень (только...

0 голосов
98 просмотров

3. Написать программу вычисления xy, не используя функцию возведения в степень (только цикл). X,y вводятся с клавиатуры


Информатика (104 баллов) | 98 просмотров
0

рекурсию знаете?

0

Что за "программа ху"?

0

А у американцев есть принцип "KISS" (Keep It Simple, Stupid - будь попроще, дурачок). Вспоминайте, часто помогает.

0

У нас преподаватель был в институте, который навсегда отучил придумывать себе сложности там, где их изначально нет. Если ему пытались отвечать не на прямо поставленный вопрос, а на какие-то собственные "додумки", он всегда так поворачивал, что заканчивалось несдачей...

0

С "наверно любые" будет, во-первых, монстр, во-вторых, тупо пишется exp(y*ln(x)). С предварительным анализом на ноль и знак.

0

там не сказано, но наверное любые

0

xy это x в степени y

0

Это на циклы задача, значит, натуральные. иначе будут такие заморочки для отрицательных, дробных и нуля...

0

Это было "икс в степени игрек", что ли?

0

x и у натуральные числа или любые?

Дано ответов: 2
0 голосов
Правильный ответ
Тривиальное решение.

var
  i,r,x,y:integer;
begin
  Write('Вычисление х в степени y, введите х,y: ');
  Readln(x,y);
  r:=x;
  for i:=2 to y do r:=r*x;
  Writeln('Результат: ',r)
end.

Тестовый прогон:
Вычисление х в степени y, введите х,y: 2 10
Результат: 1024

Вариант для любителей начинать циклы с единицы.
var
  i,r,x,y:integer;
begin
  Write('Вычисление х в степени y, введите х,y: ');
  Readln(x,y);
  r:=1;
  for i:=1 to y do r:=r*x;
  Writeln('Результат: ',r)
end.

(142k баллов)
0

Потому что если степень равна 1, то умножать не надо, x в первой равен x.

0

да, считает все правильно, но я до сих пор не понимаю, почему от 2 до у

0

Задание начального значения счетчика цикла 2 приведет к тому, что если y=1, цикл выполняться не будет ни разу и результат r останется равным х. Что и надо было.

0 голосов

Var x,y,p:integer;
begin
read(x,y);
p:=x;
for y:=y downto 2 do
  p*=x;
writeln(p);
end.

(4.7k баллов)
0

р это просто число для счета, р*=х означает p:=p*x

0

for y:=y downto 2 do это он наоборот что ли считает? а то я не очень поняла

0

ПОЧЕМУ ОТ ДВУХ ИДЕТ СЧЕТЧИК КТО ОБЪЯСНИТ

0

сначала был вариант без дополнительного Р, но потом подумал, что будет сложно...

0

Это так написано, чтобы запутать аргентинских шпионов)))

0

не понимаю..почему не до 1, ведь степень и 1 может быть

0

потому что цикл идет от у и до 2 включая оба значения

0

а почему до 2

0

что значит p*?

0

да, опускается от значения у до 2, чтобы не вводить лишнюю переменную