ksvish2012
?>

Решить ( надо): для заданного x вычислите y по формуле y=x^3+2, 5x^2-x+1 при этом: 1. операцию возведения в степень использовать запрещено. 2. в одном операторе присваивания можно использовать не более одной арифметической операции. 3. в программе не более 5 операторов присваивания.

Информатика

Ответы

alexey
Используем схему Горнера.
y = x³+2.5x²-x+1 = 1+x(-1+x(2.5+x))

var
  x,y:real;
begin
  Read(x);
  y:=x+2.5;
  y:=y*x;
  y:=y-1;
  y:=y*x;
  y:=y+1;
  Writeln(y)
end.
Vitalevna1186

# -*- coding: cp1251 -*-

def test_prg(num) :

   cnt = 0

   while (num > 0) :

       sum_num = 0

       for ch_num in str(num) :

           sum_num = sum_num + int(ch_num, 10)  

       num = num - sum_num

       cnt += 1

   return cnt

def task(number) :

   sf_print = "Заданное число = %d, ОТВЕТ: %d"

   print (sf_print%(number, test_prg(number)))

def main() :

   usr_number = 24

   task(usr_number)

if __name__ == '__main__' :

   main()

Объяснение:

Для проверки сделаем следующее:

usr_number = 24;

24 - (2 + 4) = 18  | 1

18 - (1 + 8) = 9     | 2

9 - 9 = 0             | 3

ответ: Необхідно виконати 3 (три) дії.

*Писал на 2.7.10, но и на 3 Питоне должно заработать, удачи!


Python З заданого числа відняли суму його цифр. З результату знову відняли суму його цифр і т. Д. Че
Python З заданого числа відняли суму його цифр. З результату знову відняли суму його цифр і т. Д. Че
Рогов1996

(см. объяснение)

Объяснение:

Ниже показано решение на различных языках программирования + аналитический метод.

Java:

System.out.println(BigInteger.valueOf(2).pow(102).add(BigInteger.valueOf(2).pow(100)).add(BigInteger.valueOf(2).pow(85)).add(BigInteger.valueOf(2).pow(17)).toString(8));

Pascal:

##

var res: BigInteger := BigInteger.Add(BigInteger.Add(BigInteger.Add(BigInteger.Pow(BigInteger.Parse('2'),102),BigInteger.Pow(BigInteger.Parse('2'),100)),BigInteger.Pow(BigInteger.Parse('2'),85)),BigInteger.Pow(BigInteger.Parse('2'),17));

 var s: string := '';

 while(not res.IsZero) do

 begin

   s:= BigInteger.Remainder(res,8).ToString+s;

   res:= BigInteger.Divide(res,BigInteger.Parse('8'));

 end;

 writeln(s);

Python:

a = 2**102+2**100+2**85+2**17

s = ''

while(a>0):

   s=str(a%8)+s

   a//=8

print(s)

Аналитический метод:

Нужно представить все, как <число>*8^[степень]. Заметим, что:

2^{102} + 2^{100} + 2^{85} + 2^{17}=8^{34}+2*8^{33}+2*8^{28}+4*8^{5}

Результат полученный во всех случаях одинаковый:

12000020000000000000000000000400000

Это означает, что всего в числе встречается 4 различные цифры.

Задание выполнено!

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решить ( надо): для заданного x вычислите y по формуле y=x^3+2, 5x^2-x+1 при этом: 1. операцию возведения в степень использовать запрещено. 2. в одном операторе присваивания можно использовать не более одной арифметической операции. 3. в программе не более 5 операторов присваивания.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

alexst123012225
boldyrevanastia22
Олимов Протопопова
bykotatyana
vse-v-sad-sdesign
Екатерина655
Khlustikova_Borisovna
Dr-motoshop
Манько_Панферов
asnika1989
randat887040
petria742
yok887062
daarisgoy
Стуканова УЧРЕЖДЕНИЕ1877