Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Нова проблема: + ( Знайти схожі гілки


stalin   (2001-12-18 00:20) [0]

Як знаючи скільки цифр в числі математичним способом розгорнути число (тобто було 135, маємо отримати 531) ....... Ось! ; +)



Blackweber   (2001-12-18 00:28) [1]

Возможно можно запустить цикл от 1 до length(num), в котором считывается первая цифра и ставится в конец числа.



Blackweber   (2001-12-18 00:34) [2]

т.е. 135>351>513



False_Delirium   (2001-12-18 01:02) [3]

Function Reverse(Z:Integer) : Integer ;
var T : Integer;
починати
Result := 0 ;
T := Trunc(Ln(Z)/Ln(10));
while Z>0 do
begin
Inc(Result ,(Z mod 10) * Round(Exp((T)*Ln(10)))) ;
Z := Z div 10 ;
Dec(T) ;
end
end;



Sergey_n   (2001-12-18 01:37) [4]

могу предложить вариант в C++

int x = 27531; //которое надо развернуть
int y = 0; //куда развернуть
int n=(int)log10(x); //длина числа которе развернуть
for (int i=n;i>=0;i--){
y=y+((int)(x/pow(10,i))-10*(int)(x/pow(10,i+1)))*(int)pow(10,n-i);
}



False_Delirium   (2001-12-18 02:05) [5]

>Sergey_n У тебя 14 операций за итеррацию..а у меня 10...:)..хе..:))..:)))...кто меньше..?.:)))



Sergey_n   (2001-12-18 03:16) [6]

Питання ставилося написати, а не хто менше. В даному випадку завдання виконане. До речі як ти вважав (ітерації) ????



False_Delirium   (2001-12-18 04:14) [7]

А зачем ты тогда писал, если задача была уже выполнена, когда был написан первый пример..?? Количество итераций -- это количество повторений цикла, а количество операций -- это количество арифметических действий за одну итерацию.



Sergey_n   (2001-12-18 22:59) [8]

2False_Delirium когда я начал писать она еще не была выполнена.

>Количество итераций -- это количество повторений цикла, а количество
>операций -- это количество арифметических действий за одну итерацию.
это ежу понятно. А ты уверен что в нутрях фу-й Inc, Round, ... арифметических действй столько, сколько ты думаешь?????



False_Delirium   (2001-12-19 00:10) [9]

Хе..:)... а вот в Inc уверен, а вот Round дествительно выполняется в 3 операции, его вообще убрать можно.....а вот что ты скажешь про pow ...:)... ?..:)



KilkennyCat   (2001-12-19 02:27) [10]

але ж все це не математичний спосіб.



Sergey_n   (2001-12-19 04:41) [11]

2False_Delirium я не поленился и потестил используя след. прог.
Label1->Caption = DateTimeToStr(Now());
double x = 20,y;
for (register __int16 i=0;i<2767;i++)
for (register __int16 j=0;j<32767;j++)
<выражение для теста>;

Label2->Caption = DateTimeToStr(Now());

и вот результат:
выражение | время выполнения (для моего компа)
-------------------------------------------------- ---------
pow(10,x) | 19 сек
exp(x) | 28 сек
ln(x) | 25 сек
-------------------------------------------------- ---------

итого exp+ln = 53 сек, pow+pow+pow = 57 сек
ну а если к exp+ln добавить Inc, Round, Dec, ....
то можно ещё поспорить кто быстрее.



False_Delirium   (2001-12-19 05:16) [12]

На паскале напиши для начала, а затем сравни..:))...чтобы тестировать...
а то нужно тогда два языка в контексте скорости выполнения рассматривать..:)..
Да...так ты тестируй сразу функции "переворота"....



False_Delirium   (2001-12-19 05:32) [13]

>KilkennyCat А какой же это способ..??.:)...именно математический, никаких других операций использовано не было..



False_Delirium   (2001-12-19 05:37) [14]

Да, кстать...DateTimeToStr(Now())- это немного не подходящая ф-ция, для таких тестов..:))..



Sergey_n   (2001-12-19 06:10) [15]

2False_Delirium Delphi лень ставить, а чем DateTimeToStr(Now()) тебе не нравится? Если ты о точности, то увелич цикл(или их кол-во), чтобы дольше выполнялось.



KilkennyCat   (2001-12-20 01:33) [16]

>False_Delirium а в математике есть циклы ? :)



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.86 MB
Час: 0.044 c
1-22039
Yuri Btr
2001-12-18 10:46
2002.01.08
Форма


1-22055
walker_ag
2001-12-19 03:27
2002.01.08
Як це зробити ?


3-21921
MVova
2001-12-04 10:41
2002.01.08
Зв'язок багато до багатьох;)


1-22040
захоплення
2001-12-18 18:18
2002.01.08
вирівнювання тесту в TRichEdit


1-22246
Andrey196
2001-12-16 22:03
2002.01.08
Як в Borland Image editor створити кольоровий курсор





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в&#39;єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська