【模板】 简单数论

本文探讨了数论中的一个重要概念——托兰定理,并介绍了如何使用该定理解决问题。此外,还涉及了二分查找算法和01背包问题在数论中的应用,以及快速计算1/sqrt(x)的方法。
摘要由CSDN通过智能技术生成

//快速计算幂之模,先一直往深处递归,跳出递归时处理奇偶不同的情况。应用: 在一个n阶完全图的所有生成树的数量为n的n-2次方
long long PowerRemainder(int a,int p,int n){ // quick calculate (a ^ p ) % n
	if (p == 1){return a % n;}
	if (p == 0){return 0;}
	long long r = PowerRemainder(a,p>>1,n);
	// r^5 = r^3 * r^2 % n = r^2*r * r^2 % n ; r^4 = r^2 * r^2 % n
	return (p & 1)?((r * (a%n)) % n * r % n):(r * r % n);
}
lld ModPow (lld a, lld pn, lld Mod)
{
	int tmp = 1 ;
	while (pn)
	{
		if (pn&1)
			tmp = tmp*a % Mod ;
		a = (a*a) % Mod ;
		pn >>= 1 ;
	}
	return tmp ;
}


有若干5g和7g的砝码,任何大于( )克都能够用5g和7g的砝码组合出。
5能够组成所有5的倍数,既 5× n
5的倍数+2,可以通过5×(n-1)+7 实现
5的倍数+4,可以通过5×(n-2)+7×2 实现
5的倍数+1,可以通过5×(n-4) +7×3 实现
5的倍数+3,可以通过5×(n-5&#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值