Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ псевдосчастливые числа

Автор: GrAnna 27.12.2006 17:24

Привет народ! Все знают решение задачи про количество счастливых билетов,а я хочу предложить задачу о количестве псевдосчастливых чисел.Число является псевдосчастливым ,если сумма любых трех цифр равна сумме оставшихся( ф1+ф2+ф4=ф3+ф5+ф6 и т.д.).Плиз!!! помогите правильно написать на Паскале!

Автор: мисс_граффити 27.12.2006 18:16

Цитата
а я хочу предложить задачу

может, тогда и какие-то идеи реализации предложишь?
у меня 2 мысли, как это реализовать, возникло... но сначала - твоя версия.

Автор: Michael_Rybak 27.12.2006 20:22

Таких чисел - девять: 111111, 222222, ... , 999999. Равенство любых двух цифр доказывается очень легко.

Автор: Malice 27.12.2006 20:56

Цитата(Michael_Rybak @ 27.12.2006 16:22) *

Таких чисел - девять: 111111, 222222, ... , 999999. Равенство любых двух цифр доказывается очень легко.

Опять "великий и могучий" добавил неопределенности. smile.gif Если действительно любых - то 9. Если условие уточнить например так "сумма каких либо 3-х = сумме остальных", то горазно больше..

Автор: klem4 27.12.2006 21:11

А может он имел в виду: сумма первых трех = сумме всех остальных в числе ... Гадать можно оочень долго, автор давай примеры ...

Автор: Michael_Rybak 27.12.2006 21:13

Ну это врядли, т.к. это и есть оригинал:

Цитата
Все знают решение задачи про количество счастливых билетов


Аааа, может типа число 10ти-значное, и сумма первых трех равна остальным lol.gif

Автор: klem4 27.12.2006 21:14

blink.gif

1110000003

?



Добавлено: или как это должно выглядеть ?

Автор: Michael_Rybak 27.12.2006 21:21

Угу smile.gif))

Автор: Malice 27.12.2006 21:30

Я понял так:
123123 - счастливое
112233 - псевдо, т.к. (1+2+3=1+2+3)
136332 - псевдо, т.к. (1+6+2=3+3+3)
yes2.gif
Делайте ставки rolleyes.gif

Автор: GrAnna 28.12.2006 12:50

количество псевдосчастливых билетов среди 000000..999999.варианты псевдосч. билетов: ф1+ф2+ф4=ф3+5+ф6
ф1+ф2+ф5=ф3+ф4+ф6
ф1+ф2+ф6=ф3+ф4+ф5 и тд .
всего 9 вариантов. Я сначала вычисляю кол-во счастливых билетов.из общего числа вычитаем счастливые, в оставшихся ищем псевдосчаст.как лучше записать эти варианты: в лоб или...?

Автор: Michael_Rybak 28.12.2006 14:44

В лоб конечно.

for i := 000000 to 999999 do
begin
вычисляем цифры -> digit[1..6]
вычисляем сумму цифр -> sum
if (digit[1] + digit[2] + digit[3]) * 2 = sum then
//счастливый
continue;
ok := false;
for a := 1 to 6 do
for b := a + 1 to 6 do
for c := b + 1 to 6 do
if (digit[a] + digit[b] + digit[c]) * 2 = sum then
ok := true;
if ok then
Writeln(i);
end;