TYVJ 1116 被7整除 解题报告

  数论题目?也许把,不过暴搜在TYVJ的平台上能用(评测机太好了!)因为那个数论的在考试里的话,打死我也是想不到的,所以就模拟了,果断不太多废话:

#include <stdio.h>
#include <stdlib.h>

int pow_(int a, int b)
{
	if(b == 0){
		return 1;
	}
	if(b & 1){
		return (pow_((a * a) % 7, b / 2) * a) % 7;
	}else{
		return (pow_((a * a) % 7, b / 2)) % 7;
	}
}

int main(int argc, char **argv)
{
	int i;
	int n, t = 0;
	int a, b;
	scanf("%d", &n);
	for(i = 1; i <= n; i++){
		a = pow_(2, i);
		b = pow_(i % 7, 2);
		if((a - b) % 7 == 0){
			t++;
		}
	}
	printf("%d\n", t);
	return 0;
}

  

posted @ 2011-08-07 23:05  zqynux  阅读(229)  评论(0编辑  收藏  举报