| 
| 
 | Вопрос # 3 160/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!дано уравнение
 y=(x^(n^2))/( a^n)
 х в степени {n в квадрате} - все это деленное на а в степени n
 
 Предпод задал задание: решить уравнение с помощью схемы горнера (он хотел, чтобы мы уменьшили количество умножений), не используя процедурного программирования!
 Приведу пример, в котором уравнение решается без этой схемы, то есть максимальным количеством умножений.
 В данном случае используется максимальное количество умножений
 как  написать прогу так, чтобы количество умножений уменьшилось?
 Заранее спасибо!
 Приложение:Переключить в обычный режим var a,x,n,i,chislitel,znamenatel:integer;begin    read(a,x,n);    i:=1;    chislitel:=1;    while (i<=(n*n)) do     begin       chislitel:=x*chislitel;       inc(i);     end;   i:=1;   znamenatel:=1;   while (i<=n) do    begin     znamenatel:=znamenatel*a;     inc(i);    end;   y:=chislitel/znamenatel;   write(y);   readlnend.
|  |   Вопрос задал: Ruslan (статус: 1-ый класс)Вопрос отправлен: 6 сентября 2009, 21:34
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 7 сентября 2009, 09:50; участников в обсуждении: 1. 
|   | Anderson N.N (статус: 2-ой класс), 7 сентября 2009, 09:50 [#1]:Вот ответ на вскидку ... Раз препод ничего не говорит насчет размера и оптимизации кода ...
 
 Попробуй заменить умножение сложением.
 Например: n*m
 
 for i=0 to n do
 res= res + m;
 
 Например: n^m
 
 for i=0 to m do
 for j=0 to n do
 res= res + n;
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |