Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
#1

Решение олимпиадной задачи (ч.2) - C++

30.10.2012, 21:35. Просмотров 559. Ответов 15
Метки нет (Все метки)

i:= 1
j:= 257

Цикл
i:= i + x;
j:= j - x;
x:= x - 1
выполнили 25 раз и стало i= j.
Надо найти х.

Желательно написать алгоритм поиска х, а так же программу по поиску этого числа на языке С++.

Лично мои мысли это сделать так:
х присвоить 0. Выполнить цикл 25 раз и проверить условие i= j, если оно не верно, то х:= х+1. И делать так до бесконечности, пока проверка i= j не даст истину.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 21:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решение олимпиадной задачи (ч.2) (C++):

Алгоритм решения олимпиадной задачи - C++
clip2net . com/clip/m121445/1353341115-clip-71kb.jpg Дело в том, что я не знаю, как лучше считать данные. То есть прочитать всю строку, а...

Оптимизация олимпиадной задачи по программированию - C++
Есть задача: Ограничение времени на тест: 5 сек Ограничение памяти на тест: 256 Мб Условие Дан массив целых чисел a1, a2, ...,...

Помогите с олимпиадной задачкой ( - C++
Дали мне на написание отчета олимпиадную задачку.. Решение на пару строк.. Пару раз уже код переписывал ниче не получаетсо.. Максимум...

Решение задачи - C++
Для проффесионалов, я думаю, это будет очень легко. Условие, собственно, таково: Требуется подсчитать, на сколько минут раньше...

Решение задачи - C++
Доброго времени суток! Очень глупый, уверен, для Вас вопрос, но мне задали задачу, решить пример: (a+b)2-(a2+2ab)/b2 Вот код программы:...

Решение задачи - C++
При решении задачи, столкнулся наверное с самой непреодолимой!!! z1 = 2 * (1 - cos(2 * (3 * pi - 2 * alpha)) / 2) * (1 + cos(2 * ( 5 *...

15
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
30.10.2012, 21:48 #2
ну самое простое, мудрить тут думаю особо не стоит тем более
Цитата Сообщение от florgas Посмотреть сообщение
И делать так до бесконечности, пока проверка i= j не даст истину.
цикл максимум около 10 повторений сделает =)
0
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
30.10.2012, 21:53  [ТС] #3
Почему 10 и как правильно сделать?
0
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
30.10.2012, 22:04 #4
C++
1
2
3
4
5
6
7
8
9
10
11
int x=-1,i=1,j=257;
while(i!=j){
    i=1;j=257;
    x++;
    int x1=x;
    for(int i1=0;i1<25;i1++){
        i+=x1;
        j-=x1;
        x1--;
    }
}
как то так наверное

Добавлено через 47 секунд
Цитата Сообщение от florgas Посмотреть сообщение
Почему 10
ну мне так кажется просто =)

Добавлено через 1 минуту
хм... цикл зациклился=/
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.10.2012, 22:06 #5
x = 605.12
ну и как вы собирались его найти методом перебора?)))
0
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
30.10.2012, 22:08 #6
видимо никогда так не получится
0
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
30.10.2012, 22:08  [ТС] #7
Не знаю. Я лично написал свои мысли.
0
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
30.10.2012, 22:08 #8
Цитата Сообщение от Thinker Посмотреть сообщение
x = 605.12
ну и как вы собирались его найти методом перебора?)))
больше интересно как вы его нашли =)
0
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
30.10.2012, 22:11  [ТС] #9
Я понял в чем ошибка. Я задание не правильно дал... Сейчас поправлю =)
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.10.2012, 22:12 #10
1+x+(x-1)+(x-2)+...+(x-24) = 257-x-(x-1)-(x-2)-...-(x-24)
http://www.cyberforum.ru/cgi-bin/latex.cgi?1+25x-\frac{24*25}{2}=257-25x+\frac{24*25}{2}
50x = 256 + 24*25

Добавлено через 1 минуту
Цитата Сообщение от florgas Посмотреть сообщение
Я понял в чем ошибка. Я задание не правильно дал...
вот и помогай человеку
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.10.2012, 22:12 #11
florgas, после 25 шагов i=j=129. Математическое решение тут не нужно?
0
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
30.10.2012, 22:13 #12
C++
1
2
3
4
5
6
7
double x1=605.12,i=1.0,j=257.0;
    for(int i1=0;i1<25;i1++){
        i+=x1;
        j-=x1;
        x1--;
    }
cout<<i<<endl<<j<<endl;
вывод
14829
-14571
ошиблись сударь =)
0
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
30.10.2012, 22:15  [ТС] #13
Поправка. Условие задания дал не верно.
Вот верное условие:

Код
i:= 1
j:= 257

If i< j то цикл: 
i:= i + x; 
j:= j - x; 
x:= x - 1 
else 
i:= i - x;
j:= j + x;
x:= x - 1;
выполнили 25 раз и стало i= j.
Надо найти х.
0
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
30.10.2012, 22:15 #14
Цитата Сообщение от Thinker Посмотреть сообщение
50x = 256 + 24*25
во вот это работает =)
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.10.2012, 22:17 #15
Цитата Сообщение от MrGrig Посмотреть сообщение
во вот это работает =)
ошибся изначально, не то скопировал, x = 17.12))
0
30.10.2012, 22:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2012, 22:17
Привет! Вот еще темы с ответами:

Решение задачи - C++
в первом модуле определёна квадратная матрица четвёртого разряда. Выводится изменённая матрица построчно. во втором модуле все элементы...

Решение задачи - C++
Как решить задачу: поменять местами второй четный со вторым нечетным в одномерном массиве

Решение задачи - C++
Нужна помощь в решении задачи. Прошу помочь надеюсь в вашей поддержке:( прошу решить задачу

Решение задачи c++ - C++
Написать программу вычисляющую значение функции y=√(9-x*x) на задонном орезке с заданным шагом H=0.25 помогите пожалйста а то я...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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