Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

Nuevo problema: + ( Encontrar ramas similares


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;
comenzar
Result := 0 ;
T := Trunc(Ln(Z)/Ln(10));
while Z>0 do
comenzar
Inc(Result ,(Z mod 10) * Round(Exp((T)*Ln(10)))) ;
Z := Z div 10 ;
Dec(T) ;
fin
fin;



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]

Pero esta no es una forma matemática.



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 а в математике есть циклы ? :)



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba









Memoria: 0.86 MB
Tiempo: 0.042 c
3-21909
DeadMoroz
2001-12-03 15:21
2002.01.08
Buen dia necesito consejo por favor


3-21965
Sarga
2001-12-05 06:13
2002.01.08
Indexación de FoxPro


4-22454
Ewgeniy
2001-10-31 07:40
2002.01.08
Visualización en forma de gráficos desde la memoria.


1-22232
T2
2001-12-16 07:24
2002.01.08
WIN386.SWP


4-22509
Karan
2001-11-08 12:50
2002.01.08
GetkeyboardState- ¿Qué hace?





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish Francés
gallego georgiano Alemán Griego criollo haitiano hebreo hindi Húngaro islandés Indonesian irlandés Italiana Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español