Форум программистов, компьютерный форум CyberForum.ru

Задача на целочисельное решение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать функцию, которая возвращает количество двузначных элементов массива http://www.cyberforum.ru/cpp-beginners/thread683687.html
2. Создайте функцию, которая принимает в качестве аргументов целочисленный массив и размер этого массива, а возвращает количество двузначных элементов этого массива.
C++ Объяснить пару строк! Вот есть калькулятор: #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; int main () { int res=0,g; bool EXIT = false; http://www.cyberforum.ru/cpp-beginners/thread683660.html
C++ В одномерном массиве вычислить сумму элементов, расположенных после максимального элемента
В одномерном массиве, который состоит из n действительных элементов, вычислить сумму элементов массива, расположенных после максимально элемента.( с указателями) У одномірному масиві, який складається з n дійсних елементів, обчислити суму елементів масиву,розташованих після максимально елемента.
Найти среднее арифметическое элементов четных столбцов матрицы C++
Посчитать среднее арифметическое элементов четных столбцов матрицы!! Пожалуйста помогите!!!!!! trouble135, заголовок темы должен отражать суть задания, а не быть обобщенным названием раздела с тысячами разнообразных тем. Имее 21 сообщение, пора бы и правилами ознакомиться.
C++ Дано слово. Нужно вывести его символы начиная с a до b http://www.cyberforum.ru/cpp-beginners/thread683650.html
программа не работает. Где тут ошибка? #include <iostream> #include <string> using namespace std; int main () { string s; getline (cin,s); int a,b; cin >> a >> b;
C++ Ветвистое дерево Подскажите, пожалуйста, где можно найти литературу по "Ветвистым деревьям". Желательно с примерами. подробнее

Показать сообщение отдельно
maksym08
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 10
29.10.2012, 20:54     Задача на целочисельное решение
У меня есть задача: дано уравнение x1+x2+...+xn=r. Известны n и r.
Посмотрите пожалуста мой код. Тут находит количество решений, а надо + все эти решения. Спасибо!

#include <iostream>
#include <iomanip>
#include <sstream>
#include <conio.h>
#include <cmath>
using namespace std;

int main()
{
cout.width(62);
cout<<"Znahodgennia rozvazkiv rivniannia X1+X2+...+Xn=r"<<endl<<endl;
long int n,r,K;
cout<<"Vvedit kilkist zminnyh n: ";
cin>>n;
if (n<1) {cout<<"Pomylka: n>=1 !";getche();return 0;}
cout<<"Vvedit cilu constantu r: ";
cin>>r;
if (r<0) {cout<<"Pomylka: r>0 !";getche();return 0;}
long int fv=1;
for (int i=1;i<=(n+r-1);++i)
fv*=i;
long int f1=1;
for (int i=1;i<=(n-1);++i)
f1*=i;
long int f2=1;
for (int i=1;i<=r;++i)
f2*=i;
K=fv/(f2*f1);
cout<<"Kilkist rozvazkiv = "<<K<<endl;

getche();
return 0;
}

Добавлено через 33 минуты
Цитата Сообщение от maksym08 Посмотреть сообщение
У меня есть задача: дано уравнение x1+x2+...+xn=r. Известны n и r.
Посмотрите пожалуста мой код. Тут находит количество решений, а надо + все эти решения. Спасибо!

#include <iostream>
#include <iomanip>
#include <sstream>
#include <conio.h>
#include <cmath>
using namespace std;

int main()
{
cout.width(62);
cout<<"Znahodgennia rozvazkiv rivniannia X1+X2+...+Xn=r"<<endl<<endl;
long int n,r,K;
cout<<"Vvedit kilkist zminnyh n: ";
cin>>n;
if (n<1) {cout<<"Pomylka: n>=1 !";getche();return 0;}
cout<<"Vvedit cilu constantu r: ";
cin>>r;
if (r<0) {cout<<"Pomylka: r>0 !";getche();return 0;}
long int fv=1;
for (int i=1;i<=(n+r-1);++i)
fv*=i;
long int f1=1;
for (int i=1;i<=(n-1);++i)
f1*=i;
long int f2=1;
for (int i=1;i<=r;++i)
f2*=i;
K=fv/(f2*f1);
cout<<"Kilkist rozvazkiv = "<<K<<endl;

getche();
return 0;
}
Вот правильное решение на паскале, но паскаль я не учил. Помогите пожалуста!
type list=^node;
node=record
el:integer;
next:list;
end;
procedure poisk(r,n:integer;l:list);
var d:list;
q:integer;
begin
if r<n then exit;
if (r=0)and(n=0) then begin
d:=l;
while d<>nil do begin
write(d^.el,' ');
d:=d^.next;
end;
writeln;
exit
end;
q:=r-n+1;
while q>=1 do begin
new(d);
d^.el:=q;
d^.next:=l;
poisk(r-q,n-1,d);
dispose(d);
d:=nil;
if n=1 then exit; {последний Х может принять только одно значение}
q:=q-1;
end;
end;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru