Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить задачу по программированию

Анастасия Воробьева Ученик (77), на голосовании 2 месяца назад
Как-то раз Толя-Карп проходил по местному рынку. И его взору открылась странная картина, толпа зевак удивлённо за чем-то наблюдала.

Протиснувшись в гущу толпы, Толя-Карп, сам того не ожидая, наткнулся на табурет. Подозрительный незнакомец напротив предложил ему присесть на него и сыграть с ним в интересную игру. Толя-Карп всеми жабрами почувствовал что-то неладное и послал вам телепатическое сообщение о помощи.

Правила игры следующие: даны два целых числа a и b. Нужно найти такое целое число c, что будет иметь одинаковое отклонение от a и b. С виду всё просто. Помогите Толи-Карпу найти c, иначе он так и останется сидеть на том табурете.

Формат ввода
В единственной строке заданы два целых числа a и b (-263 + 1 ≤ a, b ≤ 263 - 1).

Формат вывода
Найдите целое число c. Если такого числа не существует, выведите одну единственную строку «Run away, Tolya-Karp» без треугольных скобок.
Голосование за лучший ответ
Батаев Дмитрий Просветленный (22920) 3 месяца назад
одинаковое отклонение это прежде всего среднее арифметическое
Анастасия ВоробьеваУченик (77) 3 месяца назад
Это я знаю. Мне код нужен(
Батаев ДмитрийПросветленный (22920) 3 месяца назад
а границы это -2 В СТЕПЕНИ 63 + единица и 2 В СТЕПЕНИ 63 и минус единица ? так я понял
Батаев ДмитрийПросветленный (22920) 3 месяца назад
 #include  
#include
#include
#include
#include
#include

using namespace std;

int main(int argc, char **argv)
{
system("chcp 1251 > nul"); // Руссификация сообщений
setlocale(LC_ALL, "Russian");

int a, b, c;

cout << "Введите две точки";
cin >> a >> b;

if ( ( ( a<(LLONG_MAX-1) ) && ( (a>LLONG_MIN+1) ) ) &&
( ( b<(LLONG_MAX-1) ) && ( (b>LLONG_MIN+1) ) ) )
{
c= a+b;
if (c%2) { cout << "Run away, Tolya-Karp"; }
else { cout << "c= " << c; }
}
else cout << "выход за пределы вычислений";
cout << endl << "Хелло Ворлд" << endl;
system("pause"); // system("pause > nul");
return 0;
}
Батаев ДмитрийПросветленный (22920) 3 месяца назад
если 32 битная винда, то LLONG_MAX изменить нужно на меньшее значение. Но, думаю правильно так будет
Батаев ДмитрийПросветленный (22920) 3 месяца назад
измени старую строку на cout << "c= " << c / 2; так правильно будет
Батаев ДмитрийПросветленный (22920) 3 месяца назад
можно и более точные пределы указать. Если что пиши про недочёты
Батаев ДмитрийПросветленный (22920) 3 месяца назад
ещё момент long long int a,b,c
Похожие вопросы