int 与long long 相乘
#include
#include
int main()
{
long long int num=0;
long long int num6 = 0;
int sub;
int i;
while (scanf("%lld", &num) != EOF)
{
for (i = 0; num != 0; i++)
{
sub = num % 6;
num6 = ((int)pow(10, i)) * sub + num6;
//6 1 0
num = num / 6;
}
//num6 = 13531202544;
printf("%lld", num6);
}
return 0;
}
由于pow的强制转换,会导致右侧的溢出,num6的 变成了右侧在int溢出后的数字
需要用 long long强制转换