題意:http://mp.weixin.QQ.com/s/M_RYFovq_G9w5EYUDRcgHw
題解:http://mp.weixin.qq.com/s/ITNKOywnVn0QDC-hYYl_5Q
另一篇題解:http://blog.csdn.net/qq_24451605/article/details/48023529
逆元相關(guān):http://blog.csdn.net/acdreamers/article/details/8220787
補(bǔ)充1:第二篇題解實(shí)際是帶mod運(yùn)算的,blog主省略了
補(bǔ)充2:為什么大于4的合數(shù)無(wú)解?若n為合數(shù),必然可以分解為pq,若p!=q,又因?yàn)閜和q都小于n,那么必然 pq | (n - 1)!;若p == q,因?yàn)閚 > 4,則 p > 2,2p < n,所以也有 pq | (n - 1)!,綜述大于4的合數(shù)無(wú)解。
#include <bits/stdc++.h>using namespace std;const int N = 100005;int inv[N];int main() {	int n;	cin >> n;	if(n == 1) {		puts("YES/n1/n");	} else if(n == 4) {		puts("YES/n1/n3/n2/n4");	} else {		int limit = sqrt(n);		for(int i = 2; i <= limit; i++) {			if(n % i == 0) {				puts("NO");				return 0;			}		}		puts("YES/n1");		inv[1] = 1;		for(int i = 2; i < n; i++) {			inv[i] = 1LL * (n - n / i) * inv[n % i] % n;			PRintf("%d/n", 1LL * i * inv[i - 1] % n);		}		printf("%d/n", n);	}	return 0;}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注