大整数取模(数论初步) By ACReaper

#include <stdio.h>
#include <string.h>
#define MAXN 1000
char n[MAXN];
int m;
int main(){
	scanf("%s%d",n,&m); 
	int len = strlen(n);
	int ans = 0;
	for(int i = 0 ; i < len; i++){
		ans = (int)(((long long)ans * 10 + n[i] - '0') % m);
	}
	printf("%d\n",ans);
	return 0;
} 

这个太easy了,但是可以总结出一个规律,对于m进制的数,要转换为10进制,可以通过字符扫进去,然后按照模运算的逆来一步步向上加
posted @ 2013-04-21 11:17  算法黑魔王  阅读(147)  评论(0编辑  收藏  举报