📄 pku1894.cpp
字号:
#include <stdio.h>
#include <string.h>
int val[100];
char s[101];
int B, L;
int mod[1000], modcnt;
int Mod()
{
int ans, i;
for (i = L - 1; i > 0; i--)
{
val[i - 1] += val[i] % B * 100000000;
val[i] /= B;
}
ans = val[0] % B;
val[0] /= B;
return ans;
}
int Zero()
{
int i;
for (i = 0; i < L; i++)
{
if (val[i])
{
return 0;
}
}
return 1;
}
int main()
{
char t;
int i, j, ls, e, cnt;
scanf("%d %s", &B, s);
ls = strlen(s);
e = ls;
j = 0;
L = (ls + 7) / 8;
for (; e > 0; e -= 8, j++)
{
val[j] = 0;
for (i = 8; i > 0; i--)
{
if (e - i < 0)
{
continue;
}
val[j] = val[j] * 10;
val[j] += (s[e - i] - '0');
}
}
cnt = 0;
while (!Zero())
{
mod[cnt++] = Mod();
}
for (i = 0; i < cnt - 1; i++)
{
if (mod[i] <= 0)
{
mod[i] += B;
mod[i + 1]--;
}
}
i = cnt - 1;
while (mod[i] == 0)
{
i--;
}
for (; i >= 0; i--)
{
printf("%d", mod[i]);
}
printf("\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -