[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 320
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Richie, а сам решишь?
Так я же сам её и придумал :)))
Тогда давай не трёх, а четырёхзначное. И не на 12, а на 128.
Вьехал, что точки лежат не только на окружностях с центром в точке == центру многоугольника,
но и на наборе окружностей "половинного" диаметра прижатых к краям 1976-угольника.
Это легко понять, если представить себе место середин точек всех хорд пересекающих окружность одним из своих концов в фиксированной точке.
Возможно на этих окружностях лежат ещё какие-то "полуточки". (с) Т.е. ответ будет возможно больше чем очевидный минимум (1976).
Думаю дальше.
// Кстати, 1976 == 2*2*2*13*19
// Не знаю поможет ли это делу. Но во внимание принимаю. :)
Снова если все равные, то 512*a = a*a*a*a, т.е. а = 8. Число 8888, тоже слегка мистическое.
О других решениях не думал. Но произведение любых трех цифр больше 128.
Тогда давай не трёх, а четырёхзначное. И не на 12, а на 128.
У меня программа есть на бейсике, так, что меня этим не "засыпать" :)))
У меня программа есть на бейсике, так, что меня этим не "засыпать" :)))
Легко. Если число, скажем, 30-значное, замучится Ваш васик считать. Быстрее коллайдер Землю уничтожит.
Mathemat, да бросьте вы на счёт коллайдера. Никакой опасности он не представляет. Просто политикам и учёным нужно мани отлить.
Америкосы в своё время пытались "воздух нагреть" при помощи СВЧ - угобили огромное количество денег, сейчас по этой территории журналюги гуляют :)))
-
Кстати, по поводу 128.
Подойдут следующие:
34688
34866
36468
38864
43668
44946
44964
63468
и т.п.
-
Вот сама программка:
-
'Объява
Dim M As Long
Dim N As Long
Dim Koeficient As Long
Private Sub Command1_Click()
Dim MaxChislo As Long
Dim MinChislo As Long
Dim i As Long
Dim strok As String
'Задаём исходные данные
MinChislo = 1
MaxChislo = 100000
Koeficient = 128
For i = MinChislo To MaxChislo
strok = LTrim(RTrim(Str(i)))
If ProizCifr(strok) / SumCifr(strok) = Koeficient Then
Print strok
Else
'Print "Ни фига не найдено"
End If
Next i
End Sub
'РАСЧЁТ СУММЫ
Private Function SumCifr(Stroca As String) As Long
Dim i As Long
Dim Summa As Long
Dim Cifra As Long
For i = 1 To Len(Stroca)
Cifra = Val(Mid(Stroca, i, 1))
Summa = Summa + Cifra
Next i
SumCifr = Summa
End Function
'РАСЧЁТ ПРОИЗВЕДЕНИЯ
Private Function ProizCifr(Stroca As String) As Long
Dim i As Long
Dim Proiz As Long
Dim Cifra As Long
Proiz = 1
For i = 1 To Len(Stroca)
Cifra = Val(Mid(Stroca, i, 1))
Proiz = Proiz * Cifra
Next i
ProizCifr = Proiz
End Function
34688 - не проходит: сумма равна 29, а произведение на это простое число не делится. Не выходит у Вас что-то каменный цветок... И вообще не подходит ни одно из указанных Вами.
P.S. Ой, у Вас-то пятизначные!
О других решениях не думал. Но произведение любых трех цифр больше 128.
Решение единственное.
Программу написать - нет проблем.
Напр, в прицепе скрипт для 4 знаков. выдаёт перебором все решения для произвольного делителя. (кстати скорость приятно удивляет)
Решает вложенными циклами.
А вот интересно: как написать прогу для произвольного количества знаков (задаваемого в параметре).
Какие варианты?
Рекурсия вроде прокатывает, но расходно по стеку. Щас сделаю рекурсию. Ещё идеи есть?
Richie, я понимаю, что с коллайдером перебрали слегка.
34688 - не проходит: сумма равна 29, а произведение на это простое число не делится. Не выходит у Вас что-то каменный цветок...
И вообще не подходит ни одно из указанных Вами.
Я сегодня совсем плох, заработался:
-
А вот интересно: как написать прогу для произвольного количества знаков (задаваемого в параметре).
Какие варианты?
Рекурсия вроде прокатывает, но расходно по стеку. Щас сделаю рекурсию. Ещё идеи есть?
Вариантов нет. Для 30 знаков нужно как-то эффективно ограничивать перебор.
Рекурсию, наверно, бесполезно (если число знаков больше 10).