Гномы свободно владеют системами счисления с разными основаниями и достигли они этого ежедневными тренировками. Именно поэтому каждое утро у гномов начинается с того, что они текущую календарную дату переводят в другую систему счисления. Ваше задание такое же: перевести заданную дату D/M/Y в систему счисления с основанием D+1.
Для обозначения цифр больших 9 используются большие латинские буквы в алфавитном порядке.
Входные данные
Одна строка – дата в формате D/M/Y в десятичной системе счисления.
Выходные данные
Одна строка – дата в формате D/M/Y в системе счисления с основанием D+1.
#include <stdio.h>
long mas[30];
long long get(char ch)
{
char temp;
long long ret = 0;
do
{
scanf("%c", &temp);
if (temp != ch) ret = ret * 10 + (temp - 48);
} while (temp != ch);
return ret;
}
long get_mas(long long osnova, long long n)
{
long len = 0;
while (n)
{
mas[len] = n % osnova;
n /= osnova;
len++;
}
return len;
}
void out_mas(long len)
{
for (int i = len - 1; i >= 0; i--)
if (mas[i] < 10) printf("%d", mas[i]);
else printf("%c", char(mas[i] + 55));
}
int main()
{
long long D, M, Y;
D = get('/');
M = get('/');
Y = get('\n');
out_mas(get_mas(D + 1, D));
printf("/");
out_mas(get_mas(D + 1, M));
printf("/");
out_mas(get_mas(D + 1, Y));
printf("\n");
}
Есть решение которого нет на сайте? Пиши admin@devexe.top