Рассмотрим пример решения задачи: Однажды Винни-Пух захотел полакомиться медом и пошел к пчелам в гости. По дороге нарвал букет цветов, чтобы подарить труженицам пчелкам. Пчелки очень обрадовались, увидев мишку с букетом цветов, и сказали: «У нас есть большая бочка с медом. Мы дадим тебе меда, если ты сможешь с двух сосудов вместимостью 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); }
ответ:Назва формата SPARC v9 Розрядність Діапазон
Байт зі знаком 8(7+1) −27…27-1
Півслово зі знаком 16(15+1) −215…215-1
Слово зі знаком 32(31+1) −231…231-1
Подвійне слово зі знаком 64(63+1) −263…263-1
Байт без знака 8 0…28-1
Беззнакове півслово 16 0…216-1
Беззнакове слово 32 0…232-1
Беззнакове подвійне слово 64 0…264-1
Объяснение: