NYOJ485 A*B Problem

用到 1.同余定理: (a + b) % c == (a % c + b % c) % c;

         2.  k * 10^m % 9 == k % 9。

综上,设a == b *100 + c * 10 + d;  A == b + c + d,则a % 9 == (b*100 % 9 + c*10 % 9 + d % 9) % 9 == (b + c + d) % 9 % 9 == (b + c + d) % 9 == A % 9;。


#include <cstdio>

int main(){
	int t;
	scanf("%d", &t);
	long long a, b;
	while(t-- && scanf("%lld%lld", &a, &b)){
		if(!(a && b)){
			printf("0\n");
			continue;
		}
		int temp = (a % 9) * (b % 9) % 9;
		printf("%d\n", temp ? temp : 9);
	}
	return 0;
}


posted on 2014-02-23 17:41  长木Qiu  阅读(100)  评论(0编辑  收藏  举报