из курса вам известно, что цифры десятичной записи числа – это просто коэффициенты его представления в виде суммы степеней числа – основания системы счисления:
при переводе чисел из десятичной системы счисления в римскую мы и воспользовались этим правилом (444 = 400 + 40 + 4; 2986 = 2000 + 900 + 80 + 6).
при записи чисел значение каждой цифры зависит от ее положения. место для цифры в числе называется разрядом, а количество цифр в числе разрядностью. на самом деле числа можно записывать как сумму степеней не только числа 10, но и любого другого натурального числа, большего 1.
определение. развернутой формой записи числа называется такая запись: а4а3а2а1а0 = а4*q4 + a3*q3 + a2*q2 + a1*q1 + a0*q0 , где а4,а3,а2,а1,а0 –цифры числа, q –основание степени.
пример1. получить развернутую форму числа 7512410.
решение:
а4 = 7, а3 = 5, а2 =1 ,а1 =2, а0 =4, q=10
4 3 2 1 0
75 12410 = 7*104 + 5*103 + 1*102 + 2*101 + 4*100.
пример2. получить развернутую форму числа 1123.
решение:
2 1 0
1123 = 1*32 + 1*31 +2*30
пример3. получить развернутую форму числа 176,218.
решение: 21 0-1-2а8=176, 218=1*82+7*81+6*80+2*8-1+1*8-2 для самостоятельной работы: 1. запишите в развернутом виде числа: а8=143511,62а2=100111а10=143,511а16=1а3,5с12. запишите в свернутой форме число: 9*101+1*100+5*10-1+3*10-2a*162+1*161+c*160+3*16-1
#include <cmath> // Библиотека с математическими функциями
using namespace std; // Пространство имен
int main()
{
int first, second, temp; // Создание целочисленных переменных:
first - первое число, вводимое с клавиатуры;second - второе число, вводимое с клавиатуры;temp - переменная, для временного хранения одного из значений.
cin >> first >> second; // Вводим с клавиатуры первое и второе числа
if (first > second) // Если значение переменной first > значения переменной second
{
temp = first; // Переменная временного хранения = значению переменной first
first = abs(first * second); // Значение переменной first (большей) = модулю произведения двух чисел
second = abs(temp - second); // Значение переменной second (меньшей) = модулю разности двух чисел
}
else // Иначе
{
temp = second; // Переменная временного хранения = значению переменной second
second = abs(second * first); // Значение переменной second (большей) = модулю произведения двух чисел
first = abs(temp - first); // Значение переменной first (меньшей) = модулю разности двух чисел
}
cout << first << " " << second; // Выводим значения переменных first и second
§1. о системах счисления.
n4. развернутая форма записи числаиз курса вам известно, что цифры десятичной записи числа – это просто коэффициенты его представления в виде суммы степеней числа – основания системы счисления:
25076 = 2*10000 + 5*1000 + 0*100 + 7*10 + 6*1 = 2*104 +5*103 + 0*102 +7*101+6*100
при переводе чисел из десятичной системы счисления в римскую мы и воспользовались этим правилом (444 = 400 + 40 + 4; 2986 = 2000 + 900 + 80 + 6).
при записи чисел значение каждой цифры зависит от ее положения. место для цифры в числе называется разрядом, а количество цифр в числе разрядностью. на самом деле числа можно записывать как сумму степеней не только числа 10, но и любого другого натурального числа, большего 1.
определение. развернутой формой записи числа называется такая запись: а4а3а2а1а0 = а4*q4 + a3*q3 + a2*q2 + a1*q1 + a0*q0 , где а4,а3,а2,а1,а0 –цифры числа, q –основание степени.
пример1. получить развернутую форму числа 7512410.
решение:
а4 = 7, а3 = 5, а2 =1 ,а1 =2, а0 =4, q=10
4 3 2 1 0
75 12410 = 7*104 + 5*103 + 1*102 + 2*101 + 4*100.
пример2. получить развернутую форму числа 1123.
решение:
2 1 0
1123 = 1*32 + 1*31 +2*30
пример3. получить развернутую форму числа 176,218.
решение: 21 0-1-2а8=176, 218=1*82+7*81+6*80+2*8-1+1*8-2 для самостоятельной работы: 1. запишите в развернутом виде числа: а8=143511,62а2=100111а10=143,511а16=1а3,5с12. запишите в свернутой форме число: 9*101+1*100+5*10-1+3*10-2a*162+1*161+c*160+3*16-1#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int first, second, temp;
cin >> first >> second;
if (first > second)
{
temp = first;
first = abs(first * second);
second = abs(temp - second);
}
else
{
temp = second;
second = abs(second * first);
first = abs(temp - first);
}
cout << first << " " << second;
}
Объяснение:
#include <iostream> // Библиотека ввода - вывода
#include <cmath> // Библиотека с математическими функциями
using namespace std; // Пространство имен
int main()
{
int first, second, temp; // Создание целочисленных переменных:
first - первое число, вводимое с клавиатуры;second - второе число, вводимое с клавиатуры;temp - переменная, для временного хранения одного из значений.cin >> first >> second; // Вводим с клавиатуры первое и второе числа
if (first > second) // Если значение переменной first > значения переменной second
{
temp = first; // Переменная временного хранения = значению переменной first
first = abs(first * second); // Значение переменной first (большей) = модулю произведения двух чисел
second = abs(temp - second); // Значение переменной second (меньшей) = модулю разности двух чисел
}
else // Иначе
{
temp = second; // Переменная временного хранения = значению переменной second
second = abs(second * first); // Значение переменной second (большей) = модулю произведения двух чисел
first = abs(temp - first); // Значение переменной first (меньшей) = модулю разности двух чисел
}
cout << first << " " << second; // Выводим значения переменных first и second
}