Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Недавно вернулся с Харьковской обласной олимпиады   Найти похожие ветки 

 
Ricks   (2003-02-02 18:20) [0]

Кое-как попал во второй тур. 2 задачи, вот посмотрите, please:
Сделать программу для нахождения количества решений уравнения (привожу в виде кода, тк там надстрочные, подстрочные итд):
Sqr(X1) + Sqr(X2) + Sqr(X3) + ... + Sqr(XN) = S
где
N и S целые числа (1..100) вводятся с клавиатуры.
Например
N = 2
S = 5
Ответ : 8
И цЫтата с листика (перевожу с украинского, как можу):
примечание:
"Множина" ответов:{(1,2);(2,1);(-1, 2) итд}

Попробуйте!


 
Ricks   (2003-02-02 18:41) [1]

Люди, ну почитайте, помогите разобраться, мне интересно ведь :-)


 
Skyle   (2003-02-02 19:00) [2]

Ну давай я попробую. Не проверял особо, так.. идея появилась.
Утверждение: уравнение однородное, поэтому всё множество решений будет перестановками одного какого-то набора. То есть, если мы нашли такое решение, где x1=y1, x2=y2, ..., xn=yn, то все перестановки этого множества будут являться решениями, а все другие решения будут перестановками этого. Дальше так: Пусть X1 изменяется на интервале [0, [sqrt(S)]], где [SQRT(S)](назовём S1) - целая часть от квадратного корня из S. X2 - [0, [SQRT(S-S1)]], .... и будем в рекурсии пробегать все эти значения до нахождения корня. Множество решений (в модулях) будет иметь мощность N. Итоговое - 2N(SQR(x) = SQR(-x)). А вот дальше идёт шаг, в котором я ещё больше не уверен, чем во всём, что я писал до этого: итоговое количество решений равно N!(по модулям) * 2^N (комбинации знаков). Естественно, для этого надо доказать, что этот единственный набор существует. То есть, если набор найден, то ответ : N!*2^N, если нет - 0. Буду рад получить в мыло правильный ответ.


 
Ricks   (2003-02-02 19:20) [3]

> Skyle
Спасибо, что попробовал. Хотя я все-равно ничего не понял :-)

> Буду рад получить в мыло правильный ответ.
Я то это и писал, в надежде, что кто-нибудь решит и объяснит мне бестолковому :-)


 
Романов Р.В.   (2003-02-02 19:21) [4]

Мутная какая то задача. Разве
Sqr(1) + Sqr(2) = 5


 
Skyle   (2003-02-02 19:23) [5]


> Романов Р.В. © (02.02.03 19:21)
> Мутная какая то задача. Разве
> Sqr(1) + Sqr(2) = 5

Это был вопрос? :))

> Ricks © (02.02.03 19:20)
> > Skyle
> Спасибо, что попробовал. Хотя я все-равно ничего не понял
> :-)

Предлагаю перейти в мыло...:)


 
Ricks   (2003-02-02 19:29) [6]

>Skyle
А что в мыльце писать???

>Романов Р.В.

1*1 = 1
2*2 = 4
1+2 = 5

:-))))


 
Романов Р.В.   (2003-02-02 19:32) [7]

Все равно не понял. И еще Система из n уравнений с m неизвестными при n<m имеет бесконечное множество решений.


 
Ricks   (2003-02-02 19:35) [8]

Тьфу, опечатка. :-)
Читай

1*1 = 1
2*2 = 4
1+4 = 5

А насчет решений, я, чесно, не знаю.


 
Романов Р.В.   (2003-02-02 19:44) [9]

Совсем уже забыл что Sqr - квадрат числа, а Sqrt корень :(

Например
X1 := SQRT(2);
X2 := SQRT(3);

SQR(X1) + SQR(X2) = ?

или вот еще

X1 := SQRT(1,5);
X2 := SQRT(3,5);


 
Skyle   (2003-02-02 19:45) [10]

> Романов Р.В. © (02.02.03 19:32)
> Все равно не понял

Кто-то из нас точно не догоняет...:) Либо ты, либо я...:)

> > Skyle
> Спасибо, что попробовал. Хотя я все-равно ничего не понял
> :-)

Давай попробуем здесь ещё раз...:)
утверждение проверять пока не будем, примем за истину. Дальше.
Разберём приведённый тобой пример про x1^2 + X2^2 = 5. Интервал для X1 - от 0 до целой части корня из S, то есть до 2(S1) и может принимать значения {0, 1, 2}. так как при решении считаем, что X1 - бОльшая переменная, и S <> 0, то X1 = {1, 2}. Будем спускаться вниз, то есть скажем, что X1 =2. тогда для X2 остаются значения от 0 до S - S1(кстати, в первом моём посте ошибка - тут читать не S-S1, а S-S1^2, то есть 5-2^2 = 1. Т.е получаем, что X2 принимает значения {0, 1}. Опять идём с конца и получаем интересующий нас набор {1,2}. Далее: количество комбинаций данного набора в модулях - N! (первая переменная может принять N значений из набора, вторая - N - 1 и т.д). Из-за того, что X^2 = (-X)^2 получаем, что может быть ещё и вариация знаков, то есть окончательный ответ - N! * 2^N (N переменных имеют 2 варианта каждого значения). Для предложенного варианта : Ответ = 2!*2^2 = 1*2*2*2 = 8


 
Skyle   (2003-02-02 19:53) [11]

Да, ещё одна поправочка, надеюсь последняя. :)))
Окончательный ответ будет N! * 2^N * Z, где Z - количество уникальных наборов, найденное рекурсией. Это, так сказать, общий случай...:)


 
Ricks   (2003-02-02 19:58) [12]

> Skyle
О! Вроде вдуплил! :-) Слов нет....... :-) Merci



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-52817
AlexanderSK
2003-02-06 17:49
2003.02.17
Создание формы в Package


14-53242
Tsr
2003-01-30 17:55
2003.02.17
Английский по умолчанию в w2k при аутентификации


1-53068
runner
2003-02-06 18:04
2003.02.17
Перенос в ячейках StingGrid


1-53070
Armageddon
2003-02-06 20:04
2003.02.17
Как сохранить картинку на Image используя SavePictureDialog.


1-53065
me2
2003-02-06 09:30
2003.02.17
Дополнительное свойство у узла компонента TreeView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский