nyoj - 34

  题目:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=34

  思路:最近正好学了一点孙子定理。。。

  代码:

#include <bits/stdc++.h>
int main()
{
	int a,b,c;
	scanf("%d %d %d", &a, &b, &c);
	int x = (a*70 + b*21 + c*15)%105;
	if (x > 10 && x < 100) printf("%d\n", x);
	else printf("No answer\n");
	return 0;
}

  下篇文章中再详细谈谈孙子定理,这里给出主要公式:

  对于如下同余方程组

$$ \left\{\begin{aligned} x &= a_1 (mod \quad m_1) \\ x &= a_2 (mod \quad m_2) \\ & \cdot \cdot \cdot \\ x &= a_n (mod \quad m_n) \end{aligned} \right. $$

  当且仅当mi两两互质时x有唯一解,且有如下公式:

$$ x = \begin{pmatrix} \sum a_i t_i M_i \end{pmatrix} mod M $$

$$ 其中M = \prod m_i,M_i = \frac{M}{m_i},t_i为M_i的逆元,a_i为余数 $$

猜你喜欢

转载自www.cnblogs.com/darkchii/p/9236720.html
34