Estou um pouco mexendo com o número 226. Descobri que os pontos não estão apenas nos círculos centrados em um ponto == o centro do polígono, mas também em um conjunto de círculos de meio diâmetro pressionado contra as bordas do polígono. É fácil de entender, se imaginar a posição dos pontos médios de todos os acordes que cruzam o círculo em uma de suas extremidades em um ponto fixo. Talvez haja mais alguns "meios-pontos" nestes círculos. (c) Esta é a resposta provavelmente será mais do que o mínimo óbvio (1976). Eu penso mais adiante. // A propósito, 1976 == 2*2*2*13*19 // Não sei se isto ajuda o caso. Mas eu levo isso em consideração. :)
a = 128(b+c+d)/(bcd-128) Novamente se todos forem iguais, então 512*a = a*a*a*a, ou seja, a = 8. O número 8888 também é um pouco místico. Nenhuma outra solução foi pensada. Mas o produto de quaisquer três dígitos é maior do que 128.
Mathemat, desista do colisor. Não representa nenhum perigo. São apenas políticos e cientistas que precisam dar uma mijada. Os americanos uma vez tentaram "aquecer o ar" com microondas - eles perderam muito dinheiro, agora os journos andam nesse território :))) - A propósito, cerca de 128. O seguinte serve: 34688 34866 36468 38864 43668 44946 44964 63468 etc. - Aqui está o programa em si: - 'Declare 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 'Set initial data 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 "Não encontrado" Fim Se Próximo i Fim Sub
TOTAL DE PAÍS Função Privada 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
PROIZ CALCULATION 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
Richie, eu entendo que o colisor é um pouco demais. 34688 não funciona: a soma é 29 e o produto não é divisível por este número primo. Não se pode fazer uma flor de pedra... E nenhum deles se encaixa em absoluto. P.S. Oh, você tem cinco dígitos!
Mathemat>>: О других решениях не думал. Но произведение любых трех цифр больше 128.
A solução é a única.
Não há problema para escrever um programa.
Por exemplo, no trailer, o roteiro de 4 dígitos dá todas as soluções para um divisor arbitrário. (A velocidade, a propósito, é agradavelmente surpreendente).
Ela resolve com laços aninhados.
O que é interessante: como escrever um programa para um número arbitrário de caracteres (especificado no parâmetro).
Quais são as opções?
A recorrência parece funcionar, mas consome muito dinheiro. Eu gostaria de fazer uma recorrência. Alguma outra idéia?
Mathemat писал(а)>> Richie, eu percebo que o colisor está um pouco exagerado. 34688 não funciona: a soma é 29 e o produto não é divisível por este número primo. Não se pode fazer uma flor de pedra... E nenhum dos que você mencionou trabalha.
Hoje não estou muito bem, estou trabalhando muito: -
Richie, você mesmo vai resolver isso?
Então eu mesmo inventei isso :)
)))Em seguida, faça quatro em vez de três. E 128, não 12.
Descobri que os pontos não estão apenas nos círculos centrados em um ponto == o centro do polígono,
mas também em um conjunto de círculos de meio diâmetro pressionado contra as bordas do polígono.
É fácil de entender, se imaginar a posição dos pontos médios de todos os acordes que cruzam o círculo em uma de suas extremidades em um ponto fixo.
Talvez haja mais alguns "meios-pontos" nestes círculos. (c) Esta é a resposta provavelmente será mais do que o mínimo óbvio (1976).
Eu penso mais adiante.
// A propósito, 1976 == 2*2*2*13*19
// Não sei se isto ajuda o caso. Mas eu levo isso em consideração. :)
Novamente se todos forem iguais, então 512*a = a*a*a*a, ou seja, a = 8. O número 8888 também é um pouco místico.
Nenhuma outra solução foi pensada. Mas o produto de quaisquer três dígitos é maior do que 128.
Então me dê quatro dígitos em vez de três. E não por 12, mas por 128.
Eu tenho um programa em BASIC, então não me "encha" com ele :))))
У меня программа есть на бейсике, так, что меня этим не "засыпать" :)))
Fácil. Se o número for, digamos, 30 dígitos, sua vasic será torturada para contar. Seria mais rápido para um colisor destruir a Terra.
Mathemat, desista do colisor. Não representa nenhum perigo. São apenas políticos e cientistas que precisam dar uma mijada.
Os americanos uma vez tentaram "aquecer o ar" com microondas - eles perderam muito dinheiro, agora os journos andam nesse território :)))
-
A propósito, cerca de 128.
O seguinte serve:
34688
34866
36468
38864
43668
44946
44964
63468
etc.
-
Aqui está o programa em si:
-
'Declare
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
'Set initial data
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 "Não encontrado"
Fim Se
Próximo i
Fim Sub
TOTAL DE PAÍS
Função Privada 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
PROIZ CALCULATION
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 não funciona: a soma é 29 e o produto não é divisível por este número primo. Não se pode fazer uma flor de pedra... E nenhum deles se encaixa em absoluto.
P.S. Oh, você tem cinco dígitos!
О других решениях не думал. Но произведение любых трех цифр больше 128.
A solução é a única.
Não há problema para escrever um programa.
Por exemplo, no trailer, o roteiro de 4 dígitos dá todas as soluções para um divisor arbitrário. (A velocidade, a propósito, é agradavelmente surpreendente).
Ela resolve com laços aninhados.
O que é interessante: como escrever um programa para um número arbitrário de caracteres (especificado no parâmetro).
Quais são as opções?
A recorrência parece funcionar, mas consome muito dinheiro. Eu gostaria de fazer uma recorrência. Alguma outra idéia?
Richie, eu percebo que o colisor está um pouco exagerado.
34688 não funciona: a soma é 29 e o produto não é divisível por este número primo. Não se pode fazer uma flor de pedra...
E nenhum dos que você mencionou trabalha.
Hoje não estou muito bem, estou trabalhando muito:
-
А вот интересно: как написать прогу для произвольного количества знаков (задаваемого в параметре).
Какие варианты?
Рекурсия вроде прокатывает, но расходно по стеку. Щас сделаю рекурсию. Ещё идеи есть?
Não há opções. Para 30 caracteres, você precisa limitar o excesso de forma eficaz de alguma forma.
A recorrência é provavelmente inútil (se o número de caracteres for superior a 10).