c语言对一个很大的数取余怎么做或怎么让一个大数每位数字分开,求详细过程
展开全部
1. 大数取余
long long bigNum=/*value of big number */;
long long divisor=/* value of divisor */;
long long remainder= bigNum%divisor;
2. 大数每位数字分开
第一步 求大数的位数 nDigits
第二步 int digit;
while(bigNum > 0 ){
digit = bigNum/pow(10, --nDigits);
printf("%lld\t", digit);
bigNum = bigNum%pow(10, nDigits);
}
printf("\n");
long long bigNum=/*value of big number */;
long long divisor=/* value of divisor */;
long long remainder= bigNum%divisor;
2. 大数每位数字分开
第一步 求大数的位数 nDigits
第二步 int digit;
while(bigNum > 0 ){
digit = bigNum/pow(10, --nDigits);
printf("%lld\t", digit);
bigNum = bigNum%pow(10, nDigits);
}
printf("\n");
追问
大数的位数又怎么求
且那个大数是随意输入的
追答
int nDigits=0;
while( bigNum=(bigNum/10) >= 0 ){
nDigits++;
}
展开全部
C语言中有个取余符号%。直接用它就行
更多追问追答
追问
不行的那%只限int型
追答
不好意思,如果是超出整型的数的话,用辗转相除法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用 % 计算不行吗?
多大的数?
多大的数?
更多追问追答
追问
就是已经溢出int型的范围的数
追答
那就用long long
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询