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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
vrachishka
Сообщений: n/a
#1

О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА - C++

14.04.2008, 19:07. Просмотров 1096. Ответов 3
Метки нет (Все метки)

РЕБЯТА ПОМОГИТЕ!!!!
Нужно решить задачку С++, она очень трудная...никто не может решить!на вас надежда!
Я сейчас напишу условие,если кто сможет пришлите полное решение на axmetov_ilyas@mail.ru

"Возьмем случайным образом p двузначных чисел.Возьмем случайным образом так же двузначное число s. Соединим эти p чисел между собой сложениями или вычитаниями.Все числа должны быть использованы. Можно ли таким образом получить число s "

Выручайте ребята!!!
Заранее спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2008, 19:07     О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА
Посмотрите здесь:

C++ Довольно Трудная задача(Двумерные массивы)
Задачка C++
Я очень сильно запустил свой ПК,посоветуйте что нибудь т.к. очень сильно тормозит C++
задачка с++ C++
Массивы A+B=C (трудная задача из ЕГЭ) C++
C++ Трудная программа
C++ очень очень странная ошибка
задачка не очень интерестная C++
C++ Странная ошибка при компиляции очень очень большой проги ,,boomerang,,
Очень интересная задачка на C++ C++
C++ Очень простая задачка (но не для меня)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Coin
0 / 0 / 0
Регистрация: 12.04.2008
Сообщений: 14
14.04.2008, 22:30     О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА #2
нуууу, я бы сделал вот так:
Код
bool func_sum (int *mas, int size, int s, int sum) {
	if (size==1) return ((sum+*mas==s)||(sum-*mas==s));
	else {
		bool temp1=func_sum(mas+1,size-1,s, sum+*mas);
		bool temp2=func_sum(mas+1,size-1,s, sum-*mas);
		return (temp1||temp2);
	}	
}
это сама функция. Реализованно только выяснение существования такой "линейной комбинации", само ее нахождение в постановке задачи не указанно

из мейна вызывать так:

Код
bool test=func_sum(mas,size,s,0);
где mas - массив p чисел, size=p, s=s, а 0, ну это так надо
Coin
0 / 0 / 0
Регистрация: 12.04.2008
Сообщений: 14
14.04.2008, 22:39     О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА #3
Перечитал, человек просит полное решение, народ прикрутите ввод к алгоритму, а я спать
Coin
0 / 0 / 0
Регистрация: 12.04.2008
Сообщений: 14
15.04.2008, 16:29     О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА #4
Наслаждайся:
Код
#include <iostream.h>
#include <stdlib.h>
#include <time.h>

bool func_sum (int *mas, int size, int s, int sum);

bool func_sum (int *mas, int size, int s, int sum) {
	if (size==1) return ((sum+*mas==s)||(sum-*mas==s));
	else {
		bool temp1=func_sum(mas+1,size-1,s, sum+*mas);
		bool temp2=func_sum(mas+1,size-1,s, sum-*mas);
		return (temp1||temp2);
	}
	
}

int main() {
	int size,s,*mas;
	srand((unsigned)time(NULL));
	
	//-----------------------------------------------
	//size=rand()%100;
	size=5;
	//-----------------------------------------------
	s=rand()%100;;
	mas=new int [size];
	for (int i=0;i<size;i++) {
		mas[i]=rand()%100;
		cout << mas[i]<<' ';
	}
	cout << endl <<"s="<<s<<endl;
	if (func_sum(mas,size,s,0))
		cout << "Yes" << endl;
	else
		cout << "No" << endl;

	delete [] mas;
	mas=NULL;

	return 0;
	
}
Вот только одно, в условии сказанно, что нужно p двухзначных чисел, где p тоже двухзначное. Очень, очень много вычислений, например 99 чисел, каждое действие порождает еще 2, то еще два, еще и еще и еще...

Расскажу я сказку про число 2.
Был какойто перец. Придумал он всем известные шахматы. И очень понравилась игра эта султану одному, и разрешил он перцу выбрать награду. И сказал перец скромно, мне много не надо. Положи на первую клетку доски 2 рисовых зерна, на следующую - 4, на следующую в 2 раза больше и так далее прошу тебя, о могучий, заполни доску игровую. И пообещал султан исполнить его желание, еще и подивился скромности перца.
Так и пустил перец по миру султана, ибо слово было дано в присуцтвии свидетелей, а как известно нам: 2 в 64ой - это дохера.
Мораль думаем сами

Но если таки попросят чтоб было по условию, в мейне я выделил облось, там 2 строки, закомментируещь рабочую и откроещь закомментированную.
Yandex
Объявления
15.04.2008, 16:29     О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА
Ответ Создать тему
Опции темы

Текущее время: 14:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru