forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   Кратнось числа (http://forum.boolean.name/showthread.php?t=2398)

c0mrad 13.01.2007 22:12

Кратнось числа
 
Люди!
Скажите пожалуйста,как узнать кратно ли число пяти на блице:SOS:

jimon 13.01.2007 22:27

Re: Кратнось числа
 
ну если оно делится нацело то оно кратно 5 ...
а вот целостность числа я проверяю как полный извращенец :lol:

if (int)variable = variable then print "число целое" endif

Nord 13.01.2007 22:40

Re: Кратнось числа
 
if chislo mod 5=0 then print "число кратно"

SubZer0 13.01.2007 23:44

Re: Кратнось числа
 
if int(chislo/5.0)=chislo/5 then printl "kratno"

moka 14.01.2007 00:51

Re: Кратнось числа
 
D#=.2
If Int(Number*D)=Number*D : Print "Kratno" : Else : Print "Nekratno" : Endif

alcoSHoLiK 14.01.2007 02:10

Re: Кратнось числа
 
Жуть) C mod самый простой вариант.

moka 14.01.2007 03:08

Re: Кратнось числа
 
И не самый производительный, осталось их всех сравнить, и вывести самый производительный.

c0mrad 14.01.2007 12:39

Re: Кратнось числа
 
Спасибо всем =)

HolyDel 15.01.2007 02:24

Re: Кратнось числа
 
кто - нибудь сравнивал?
Я сранил:
аля Nord - 1872
аля SubZer0 - 2697
яля MoKa 2161
ваши результаты в студию.
Код:


n=10000000
h=0
a=MilliSecs()
For i=1 To n
        If i Mod 5 = 0 Then h=h+1
Next
Print h+" time:"+(MilliSecs()-a)
h=0
a=MilliSecs()
For i=1 To n
        If Int(i/5.0)=i/5.0 Then h=h+1
Next
Print h+" time:"+(MilliSecs()-a)
h=0
d#=0.2
a=MilliSecs()
For i=1 To n
        If Int(i*d)=i*d Then h=h+1
Next
Print h+" time:"+(MilliSecs()-a)
WaitKey()

мой проц Celetone433. правда но был разогнан до 547.

impersonalis 15.01.2007 04:55

Re: Кратнось числа
 
не мешало бы прогнать фейковые вычисления вначале, чтобы уравновесить...

Nord 15.01.2007 16:40

Re: Кратнось числа
 
У меня:

Nord - 2204
SubZer0 - 2323
MoKa - 2135

проц Celerone работает на 1.87

impersonalis 15.01.2007 18:00

Re: Кратнось числа
 
http://boolean.name/showpost.php?p=7051&postcount=14

Nord 15.01.2007 19:19

Re: Кратнось числа
 
impersonalis, надеюсь я тебя правильно понял:

С выключеным отладчиком и n=3000000:
Nord - 829
SubZer0 - 805
MoKa - 738

Добавленно:
Delay 2000;n=10000000;

Nord - 360
SubZer0 - 335
MoKa - 261

moka 16.01.2007 01:40

Re: Кратнось числа
 
Вот, как и предпологал mod будет более длителен, т.к. что-то встроенное (хотя не факт в других случаях). А * быстрее чем /. Вот и написал. Выходит быстрейший? ;)

pax 16.01.2007 16:17

Re: Кратнось числа
 
Nord - 244
SubZer0 - 305
MoKa - 233

n=10000000

Celeron D 2.4GHz

Вывод: разные процессоры имеют разные архитектуры, а следовательно одни и теже операции выполняются разное время.
PS: при выполнении 10млн. одних и тех же операций несколько миллисекунд разницы не имеют большого значения, зато с mod все выглядит читабельнее чем два последних варианта

2Nord: Движку необходимо некоторое время для инициализации, поэтому в начале программы необходимо сделать задержку. Это может быть либо цикл с большим числом повторений либо задержка (Delay 2000) в начале программы (как говорил impersonalis).


Часовой пояс GMT +4, время: 09:49.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot