Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 14:35 18.04.24 
Хуманитарни науки
   >> Логика
Всички теми Следваща тема *Кратък преглед

Тема Разбиване на числа  
АвторO1OO1 (Нерегистриран)
Публикувано31.10.05 22:32



Здравейте! Пускам тази тема в "Математика" и в "Логика". Занимавам се любителски с програмиране и стигнах до следния проблем: нуждая се от формула (метод) за получаване на всички варианти на разбиване на сума S на p броя различни неповтарящи се събираеми в областта на реалните положителни числа. Не знам доколко задавам условието достатъчно издържано, затова давам пример: сума 100 трябва да разбия на 3 числа. а + б + с = 100. Търся всички а, б, с (а =/= б =/= с), чиито сбор дава 100.



Тема Re: Разбиване на числанови [re: O1OO1]  
АвторИлиян (Нерегистриран)
Публикувано01.11.05 04:30



За съжаление, според поставеното условие, има безброй много такива реални числа, чиято сума да е равна на даденото число S.



Тема положителни...нови [re: Илиян]  
Авторzaphod (Нерегистриран)
Публикувано01.11.05 20:24



с положителни числа далеч не са безкрайно много.



Тема Re: положителни...нови [re: zaphod]  
АвторИлиян (Нерегистриран)
Публикувано01.11.05 22:59



Е, сигурно, ама...

"неповтарящи се събираеми в областта на реалните положителни числа"

Т'ва иска човека.



Тема Re: положителни...нови [re: Илиян]  
Автор zaphod (void *lpNothing)
Публикувано02.11.05 08:06



и ти какво реши, че отрицателните могат да се повтарят? айде сега юриспрудентщини....




NE SUTOR ULTRA CREPIDAM


Тема Re: Разбиване на числанови [re: O1OO1]  
Автор Orнeдишaщ (Змей)
Публикувано02.11.05 14:57



Ами не е толкова сложно. Нека подредим събираемите а>б>с. В един цикъл извърташ всички възможни а: от 35 до 97 включително (защо 35 и 97, сигурно се сещаш - нали трите събираеми трябва да са различни и а да е най-голямото). Вътре влагаш втори цикъл за б, който въртиш от (102-а)/2 (при четно а) или от (101-а)/2 (при нечетно а) до 99-а. Накрая пресмяташ с като 100-а-б и готово.

Сравнително лесно можеш да си го обобщиш за други суми и друг брой събираеми. Нека сумата е С, а събираемите са н на брой естествени числа: х1+х2+...+хн=С, х1>х2>...>хн>0.
Най-външният цикъл е: х1 от (2*(С-1)+н*(н+1)))/(2*н) до С-н*(н-1)/2 включително. Делението е целочислено, като остатъкът (ако има такъв) се пренебрегва.
Границите за следващите (вложени) цикли се пресмятат по същата формула, но вместо С се взема остатъкът (за втория цикъл по х2 например това ще е С-х1) и вместо н - броят на оставащите неопределени събираеми.

Пример: нека С=100, н=5.
Цикъл по х1: работим с С=100, н=5. Границите са от (2*(100-1)+5*(5+1)))/(2*5)=22 до 100-5*(5-1)/2=90 включително.
Цикъл по х2: работим с С=100-х1, н=4. Границите са от (2*(100-х1-1)+4*(4+1)))/(2*4) до 100-х1-4*(4-1)/2 включително.
Цикъл по х3: работим с С=100-х1-х2, н=3. Границите са от (2*(100-х1-х2-1)+3*(3+1)))/(2*3) до 100-х1-х2-3*(3-1)/2 включително.
Цикъл по х4: работим с С=100-х1-х2-х3, н=2. Границите са от (2*(100-х1-х2-х3-1)+2*(2+1)))/(2*2) до 100-х1-х2-х3-2*(2-1)/2 включително.
Накрая: х5=100-х1-х2-х3-х4.

Успех!




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.