С++ Дано 4 числа: a,b,c,d. Найдите разность между суммой всех чисел в интервале [a;b] и суммой всех чисел в интервале [c;d].
Формат входных данных
В единственной строке вводятся четыре целых числа a, b, c и d, (0≤a≤b≤104,0≤c≤d≤104).
Формат выходных данных
Необходимо вывести единственное число — искомую разность.
входные данные выходные данные
1 3 2 4 -3
Однажды Винни-Пух захотел полакомиться медом и пошел к пчелам в гости. По дороге нарвал букет цветов, чтобы подарить труженицам пчелкам. Пчелки очень обрадовались, увидев мишку с букетом цветов, и сказали: «У нас есть большая бочка с медом. Мы дадим тебе меда, если ты сможешь с двух сосудов вместимостью 3 л и 5 л налить себе 4 л!» Винни-Пух долго думал, но все-таки смог решить задачку. Как он это сделал?
Решение:
Как в результате можно получить 4 л? Нужно из 5-литрового сосуда отлить 1 л. А как это сделать? Нужно в 3-литровом сосуде иметь ровно 2 л. Как их получить? – Из 5-литрового сосуда отлить 3 л.
Решение лучше и удобнее оформить в виде таблицы:
Ходы1234565 л522-543 л-3-223
Наполняем из бочки 5-литровый сосуд медом (1 шаг). Из 5-литрового сосуда отливаем 3 л в 3-литровый сосуд (2 шаг). Теперь в 5-литровом сосуде осталось 2 литра меда. Выливаем из 3-литрового сосуда мед назад в бочку (3 шаг). Теперь из 5-литрового сосуда выливаем те 2 литра меда в 3-литровый сосуд (4 шаг). Наполняем из бочки 5-литровый сосуд медом (5 шаг). И из 5-литрового сосуда дополняем медом 3-литровый сосуд. Получаем 4 литра меда в 5-литровом сосуде (6 шаг). Задача решена.
Поиск решения можно было начать с такого действия: к трем литрам добавить 1 литр. Но тогда решение будет выглядеть следующим образом:
Ходы123456785 л-335-1143 л3-311-3-( по этому примеру реши)
//с основанием от 2 до 9 в десятичную
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int pss(char sr[80], int i, int osn)
{
static int s;
char ch=sr[i-1];
if (i==strlen(sr)) s=1;
s=s*osn;
if (1<i) return (atoi(&ch)+pss(sr,i-1,osn)*osn);
else return (atoi(&ch));
}
int main(int argc, char** argv)
{
int osn=0;
char st[80];
cout<<" задайте основание (от 2 до 9) ";
cin>>osn; cout<<endl;
cout<<"число: "; cin>>st; cout<<endl;
cout<<"в десятичной системе: "
<<pss(st,strlen(st),osn);
return(0);
}