Вычитание выполнено в шестеричной системе счисления.
Объяснение:
Мы видим в данном выражении цифры до 4. Из этого следует, что система счисления использует не менее 5 цифр. То есть, она как минимум - пятиричная. Будем подбирать по порядку системы счисления и вычислять их значения.
Пятиричная система счисления:
1. Переводим в десятичную систему счисления:
102 = 25 * 1 + 5 * 0 + 1 * 2 = 25 + 0 + 2 = 27
14 = 5 * 1 + 1 * 4 = 5 + 4 = 9
2. Вычисляем в десятичной системе счисления:
27 - 9 = 18
3. Переводим в пятиричную систему счисления:
18 = 33
Вывод: данная система счисления не подходит.
Шестеричная система счисления:
1. Переводим в десятичную систему счисления:
102 = 36 * 1 + 6 * 0 + 1 * 2 = 36 + 0 + 2 = 38
14 = 6 * 1 + 1 * 4 = 6 + 4 = 10
2. Вычисляем в десятичной системе счисления:
38 - 10 = 28
3. Переводим в шестеричную систему счисления:
28 = 44
Вывод: данная система счисления подходит.
УДАЧИ! ОБРАЩАЙТЕСЬ!
#include <iostream>
#include <string>
using namespace std;
void plus1(char*,int*);
int main(void)
{string n;
char poli[108];
int kar=0,buf,add=0;
cin>>n;
for(int i=0;i<n.length()/2+n.length()%2;i++)
{poli[kar]=n[i];
kar++;}
buf=kar;
plus1(poli,&kar);
if(buf!=kar)
{add++;
buf=kar;}
if((n.length()+add)%2!=0)
for(int i=buf-2;i>=0;i--)
{poli[kar]=poli[i];
kar++;}
else
for(int i=buf-1;i>=0;i--)
{poli[kar]=poli[i];
kar++;}
for(int i=0;i<kar;i++)
cout<<poli[i];
return 0;}
void plus1(char slogaem[],int* len)
{int add=1;
for(int i=*len-1;i>=0;i--)
if(slogaem[i]=='9' && add==1)
{add=1;
slogaem[i]='0';}
else
{slogaem[i]+=add;
add=0;}
if(slogaem[0]=='0' && add==1)
{for(int i=*len;i>0;i--)
slogaem[i]=slogaem[i-1];
slogaem[0]='1';
*len+=1;}}
Пример ввода:
93439
Пример вывода:
93539