-
Публикации
362 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем User №848
-
-
Нет, я не запал на Киона.
0 -
Удачи, что сказать.

Я вот без стипендии, лентяй. (я)
0 -
"Graves to Fools".
0 -
Гравота - от Graves?Посмотрел гравоту.
Пацифика няха.0 -
Привет, Ред.Привет всем.
0 -
Привет, Урсулечка. ^-^
А, да, привет, Сканф. =)
0 -
Ок, не в этот раз, значит.Всех с окончанием дня святого Валентина!
0 -
Ну или определить границы поиска, да.
Я всё достаточно хорошо продумал, прежде чем приступить к написанию, лол.
Но из-за громоздких конструкций и смежных одинаковых операторов достаточно сложно было выявить ошибки и неточности.
Ред, что со Сканфом? Циська нормально работает вот, так что дело в сайте.
0 -
Т.е. как базис можно делать проверку на то, является ли m <= 3 && m >0, если нет, то решения задачи для этого числа нет
For c = 1023 To 3289
m = c 1000
0 -
&nbsp;
&nbsp;Если ты возьмёшь 4xyz, то второе число будет как 12abc, что уже пятизначное число и не соответствует условию, нет?
Я тебя не так понял, видимо. Теперь ясно.
Я сделал иначе: Взял как край число, ближайшее меньшее разноциферное к в три раза меньшему, чем 9876 - последнего числа с различными цифрами в составе.
0 -
Оптимизировал выполнение с 10-15 секунд до доли секунды.
Option Explicit Sub Rebus() Dim c As Integer Dim b As Integer Dim m As Integer, u As Integer, h As Integer, a As Integer, s As Integer, l As Integer, o As Integer, n As Integer Dim W As String W = "Числа: " + vbCrLf For c = 1023 To 3289 m = c 1000 u = (c 100) Mod 10 h = (c 10) Mod 10 a = c Mod 10 If (m <> u) And (m <> h) And (m <> a) And (u <> h) And (u <> a) And (h <> a) Then b = c * 3 s = b 1000 l = (b 100) Mod 10 o = (b 10) Mod 10 n = b Mod 10 If (s <> l) And (s <> o) And (s <> n) And (l <> o) And (l <> n) And (o <> n) Then If (m <> s) And (m <> l) And (m <> o) And (m <> n) And (u <> s) And (u <> l) And (u <> o) And (u <> n) And (h <> s) And (h <> l) And (h <> o) And (h <> n) And (a <> s) And (a <> l) And (a <> o) And (a <> n) Then If 3 * c = b Then W = W + "3*" + Str(c) + "=" + Str( + vbCrLf End If End If End If Next MsgBox W End Sub '2 =1 1=3 1 =4 2 = 3 2 = 4 3 = 40 -
Урсула, помоги оптимизировать:
Option Explicit Sub Rebus() Dim c As Integer Dim b As Integer Dim m As Integer, u As Integer, h As Integer, a As Integer, s As Integer, l As Integer, o As Integer, n As Integer Dim W As String W = "Числа: " + vbCrLf For c = 1023 To 3289 m = c 1000 u = (c 100) Mod 10 h = (c 10) Mod 10 a = c Mod 10 If (m <> u) And (m <> h) And (m <> a) And (u <> h) And (u <> a) And (h <> a) Then For b = 1023 To 9876 Step 3 s = b 1000 l = (b 100) Mod 10 o = (b 10) Mod 10 n = b Mod 10 If (s <> l) And (s <> o) And (s <> n) And (l <> o) And (l <> n) And (o <> n) Then If (m <> s) And (m <> l) And (m <> o) And (m <> n) And (u <> s) And (u <> l) And (u <> o) And (u <> n) And (h <> s) And (h <> l) And (h <> o) And (h <> n) And (a <> s) And (a <> l) And (a <> o) And (a <> n) Then If 3 * c = b Then W = W + "3*" + Str(c) + "=" + Str( + vbCrLf End If End If Next End If Next MsgBox W End Sub '2 =1 1=3 1 =4 2 = 3 2 = 4 3 = 4Я уже увеличил скорость выполнения. (выбрав для второго цикла шаг = 3) Всё-таки, можно ещё ускорить?0 -
Для Редьки и его предположения по решению. <3
0 -
Ошибся ты. Их брать можно.tl;dr: ля первого числа сразу можно отбросить все те, что дают при умножении на 3 двухзначное число: 4,5,6,7,8,9 и 0,
Сканф, что у тебя с редактором?
0 -
Спидька. Реши задачу: Есть такое четырёхзначное число MUHA, умножив которое на 3, получим другое четырёхзначное число - SLON. M, U, H, A, S, L, O и N - все различные цифры. M и S - не нули.Это так и надо, что оно выглядит так громоздко?
0 -
У меня есть идеи, но это позже.Алгоритм смотрится каким-то неоптимизированным, проще никак? .-.
Можно обойтись двумя переменными, но визуально будет ещё больше.
Но ты всегда можешь решить сам. Будем мериться, у кого длинее.
0 -
Вот что висит у нас в городе:

На днях видел девушк с украинским паспоротом в больнице...
Сулька решила задачку, таки:
Option Explicit Sub Rebus() Dim c As Integer Dim b As Integer Dim m As Integer, u As Integer, h As Integer, a As Integer, s As Integer, l As Integer, o As Integer, n As Integer Dim W As String W = "Числа: " For c = 1023 To 3289 m = c 1000 u = (c 100) Mod 10 h = (c 10) Mod 10 a = c Mod 10 If (m <> u) And (m <> h) And (m <> a) And (u <> h) And (u <> a) And (h <> a) Then For b = 1023 To 9876 s = b 1000 l = (b 100) Mod 10 o = (b 10) Mod 10 n = b Mod 10 If (s <> l) And (s <> o) And (s <> n) And (l <> o) And (l <> n) And (o <> n) Then If (m <> s) And (m <> l) And (m <> o) And (m <> n) And (u <> s) And (u <> l) And (u <> o) And (u <> n) And (h <> s) And (h <> l) And (h <> o) And (h <> n) And (a <> s) And (a <> l) And (a <> o) And (a <> n) Then If 3 * c = b Then W = W + "3*" + Str(c) + "=" + Str( + vbCrLf End If End If Next End If Next MsgBox W End Sub '2 =1 1=3 1 =4 2 = 3 2 = 4 3 = 40 -
Ну что, кого из вас поздравили с сегодняшним днём? (:
Меня. ^-^ (Но только тсс.)
Серьёзно.
0 -
Меня спросили, гот ли я, уже:
1.Одноклассница
2.Училка
3.Мамка.
Раз уж кинула тот странный арт про меня и моего куна, кину и остальные от других художников



Оу, хеллоу. :>
0 -
Скилл постепенно совершенствуется, но ничего особо серьезного я так и не пробовал еще писать.
Ну да, а я прям каждый день пишу.

Но мои знания таки совсем уж небольшие в этой области. Хотя скорость понимания и осваивания замедляется ленью, и только.
0 -
Как можно перепутать VBA и Pascal???А, я думал что это Паскаль.
Ахтыж... Человек, гоняющийся за плюсиками? Плюсца тебе. ^v^НЕ НЕДООЦЕНИВАЙ МОЮ МОЩЬ!!!!!111адын
0 -
Мне бы такие креситики, чтобы записывать многослойные звуки или биты со всеми примочками. о_ОХе-хе, я для подобных случаев листочек завел, в который ставлю крестики, если забываю или не успеваю сделать заранее запланированные дела. (:
0 -
Глядя на этот код, чувствую себя слегка ущербным. Надо завтра продолжить свои офигительные программки на С++
0 -
Вот с КОТ+КОТ=ТОК проще было
Option Explicit Sub CatPlus() Dim a As Integer Dim b As Integer For a = 102 To 987 If (a 100 <> a 10) And (a 10 = 0) And (a 100 <> a Mod 10) Then For b = 102 To 987 If (b 100 = a Mod 10) And (b 10 = 0) And (a 100 <> b Mod 10) Then If 2 * a = b Then MsgBox Str(a) Next End If Next End Sub
Ответ: нет решений для этого ребуса0
Флуд
в Разговоры на любые темы
Опубликовано:
Мой личный статус - "Новичок".
Таки есть он у меня, да.