Что нового

[Математика] Задача с числами

acdsee

Новичок
Сообщения
3
Репутация
0
Уважаемые знатоки, помогите решить задачу посредством autoit
Есть трех-цифровое число (abc), если с цифр этого числа сложить возможные дво-цифровые числа (ab, ba, bc, cb, ac, ca), додать их (ab+ba+bc+cb+ac+ca) потом эту сумму разделить на 3 то получится исходное число (abc). Вопрос: кокое должно быть число abc
Вот как я это записал в коде, но он не работает
Код:
While 1
$a=1
$b=0
$c=0

$n=$a & $b & $c

$1 = $a & $b
$2 = $b & $a
$3 = $b & $c
$4 = $c & $b
$5 = $a & $c
$6 = $c & $a

$s = $1 + $2 + $3 + $4 + $5 + $6

$r = $s / 3

If $r = $n Then
MsgBox (0,"",$n)
EndIf
WEnd
 

Nazgul666

Знающий
Сообщения
21
Репутация
9
Код:
For $a=1 To 9
	For $b=0 To 9
		For $c=0 To 9
			$n=$a & $b & $c
			
			$1 = $a & $b
			$2 = $b & $a
			$3 = $b & $c
			$4 = $c & $b
			$5 = $a & $c
			$6 = $c & $a
			$7 = $a & $a
			$8 = $b & $b
			$9 = $c & $c
			$s = $1 + $2 + $3 + $4 + $5 + $6 + $7 + $8 +$9	
			$r = $s / 3 
			If $r = $n Then
				ConsoleWrite($n&@crlf)
			EndIf
		Next
	Next
Next


Переосмыслил условие после комментария C2H5OH, ответ 198.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Вообще-то задача имеет решение - 198.
Только условие нужно внимательно прочитать.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Задачу можно решить аналитически, без перебора. В конечном итоге она сводится к линейному диофантовому уравнению, и если учесть, что каждая переменная в уравнении - это цифра, то решения поставленной задачи нет. если же слегка поменять условие, и как предложил Nazgul666 не делить на 3, то единственным решением будет число 264. само уравнение выглядит так
Код:
0 < a ≤  9; 0 ≤  b ≤  9; 0 ≤ c ≤ 9
100a + 10b + c = (22a + 22b + 22c)/3 <---- решения нет
100a + 10b + c =  22a + 22b + 22c    <---- решение 264


Добавлено:
Сообщение автоматически объединено:

C2H5OH [?]
Вообще-то задача имеет решение - 198.
198 ≠ (19+91+18+81+98+89)/3
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Мы не знаем условия задачи.
Мы пытаемся его угадать, читая очень вольный перевод ТС.
Вы считаете что не нужно делить на три, а я считаю что нужно брать ВСЕ двузначные числа, полученные из цифр треxзначного.
Код:
198 = (19+91+18+81+98+89+11+99+88)/3
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
C2H5OH
ну так то да. просто я исходил из кода, который привел автор, у него там сумма 6 чисел, а не 9
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
imho, 6 двузначных чисел - это его интерпретация условия задачи.
А вот деление на 3 уже тяжело недосмотреть, скорее всего в условии всё же было "делить на 3".
 
Верх