[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 322

 
MetaDriver >>:

Я и на васике могу в четыре-пять строк уложиться

:)

Верю. Но интересно было бы взглянуть...

 
admin писал(а) >>

Ни фига себе..
А вот как выглядит алгоритм на perl:


for(111..999){
split(//,$_);
my($sum,$mul)=(0,1);
for(@_){$sum+=$_;$mul*=$_;}
print("$_\n") if($sum*12==$mul);
}


Бейсик лет 18 знаю. А вот то, что вы написали даже понять не могу. Перл не знаю. Вообще на бейсике всё будет ещё проще, если почти всё в модуль спрятать, например так:
-
Private Sub Command1_Click()
Me.PrintList(MathMod.OtnProSum(1,1e5))
End Sub

 
MetaDriver писал(а) >>

Да он просто программист.... так себе.

Скажу больше. Он вообще не программист.

 
admin >>:

Верю. Но интересно было бы взглянуть...

Взгляни...
;)
Файлы:
 
Private Sub FindAllButton_Click()
  For i = 111 To 999
    If ((1# * (i Mod 10) * ((i Mod 100) \ 10) * (i \ 100)) / (i Mod 10 + (i Mod 100) \ 10 + i \ 100) = 12) Then Range("c4").Value = i
  Next i
End Sub
А это, собсно, алгоритм счёта. "Чиста алгоритм" уместился в трёх строках, ежли не считать заголовок и закрывающий End функции :)
 
На ruby(есть нормальный bigint)  для любого размера n. :)
n=6;
(10**(n-1)..10**n-1).each{|i|
sum=0;mul=1
(1..n).each{|s|
d=i%10**s/10**(s-1)
sum+=d;mul*=d
}
if mul/sum==12
print i,"\n"
end
}
 
MetaDriver >>:
А это, собсно, алгоритм счёта. "Чиста алгоритм" уместился в трёх строках, ежли не считать заголовок и закрывающий End функции :)

Классно!

 
Richie, а вот Вы можете проверить на своем васике, точно ли соблюдается равенство "30 в виде суммы трех кубов", приведенное на 322-й страничке ветки: https://c.mql4.com/forum/2010/04/cohen.GIF ?
Richie, в данном случае "точно" - это абсолютно точно, с нулевой погрешностью: это равенство для целых чисел из книжки о диофантовых уравнениях.
 
Mathemat писал(а) >>
Richie, а вот Вы можете проверить на своем васике, точно ли соблюдается равенство "30 в виде суммы трех кубов", приведенное на 322-й страничке ветки: https://c.mql4.com/forum/2010/04/cohen.GIF ?
Richie, в данном случае "точно" - это абсолютно точно, с нулевой погрешностью: это равенство для целых чисел из книжки о диофантовых уравнениях.



К сожалению со стандартными типами данных типа Double и Long ничего не получится. Теперь жалею, что после окончания ВУЗа уничтожил библиотеку функций VB, позволяющих делать точные расчёты с очень большими и очень малыми числами, создавая в VB свои типы данных.
-
Попробовал в VB с типом Double - фигня получается полная, в Excel - ноль получился.
Библиотека работала просто - числа хранились в виде строк типа String. А действия производились с знаками этих строк после перевода их в формат Byte. Если бы было больше времени можно было написать снова.
-
А может есть какой другой - хитрый способ доказательства?

 
Mathemat писал(а) >>
Richie, а вот Вы можете проверить на своем васике, точно ли соблюдается равенство "30 в виде суммы трех кубов", приведенное на 322-й страничке ветки: https://c.mql4.com/forum/2010/04/cohen.GIF ?
Richie, в данном случае "точно" - это абсолютно точно, с нулевой погрешностью: это равенство для целых чисел из книжки о диофантовых уравнениях.


В виндосовском калькуляторе можно посчитать.
Причина обращения: