Головна сторінка
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.6 MB
Час: 0.031 c
4-22512
Ярослав
2001-10-31 13:17
2002.01.08
Як на АПИ створити спливаюче меню (popup)


4-22460
Dimich
2001-11-01 08:49
2002.01.08
Люди-HELP !!! Дисер горить !!!


6-22267
wHammer
2001-09-28 15:00
2002.01.08
Було-б дуже зручно ...


4-22473
amamed_3071
2001-11-02 13:46
2002.01.08
Epson Printer commands


14-22387
- = CrazyFish = -
2001-11-09 16:28
2002.01.08
питання не в тему





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