大数取余
思路分析
其实这是比较直观的,我们只要直接模拟平时用除法求余数的过程就行了。
分析:首先把首位取出来,然后把取余的结果保存下来。
取余的结果是需要乘10的,因为到了5的时候,我们会余1,然后2落下来。然后再进行取余,循环到把这个数取完为止。
demo
#include <stdio.h>
#include <string.h>
int s;
void mod(char *str,int n)
{
for(int i=0;i<strlen(str);i++)
{
s=s*10+(str[i]-'0');
s=s%n;
}
}
int main()
{
char str[5000]={0};
printf("please input the num:");
gets(str);
mod(str,17);
printf("mod:%d\n",s);
return 0;
}