四两拨千斤,GCC编译器(同余模) - HDU 3123

对于两个数M和N,如果M%P == N%P,则可以说M和N对P同余。记作公式:

M≡N(modP)

同余这一属性看起来简单,然而却是数论中极为重要的概念。与之相关的公式和定理更是纷繁芜杂,如果不是数学背景的童鞋,恐怕很难深入去钻研所有的知识。

 

我们这一篇作为一个简单的入门,用同余公式来解决一个阶乘问题。在做题之前,先来熟悉一个简单的公式:

(M+N)%P=(M%P+N%P)%P(M+N)%P=(M%P+N%P)%P

 

这个公式简单的说就是模运算的分配律,感性的可以认为,M对P的余数X,以及N对P的余数Y,两者相加X+Y可能大于P,所以单独取余相加后要再取一次余,保证结果不大于P。也正是该式子,能够轻易解决下题中的一个阶乘问题。

 

所谓取余取余,就是不断地减去整的,留下余的罢。

 

Problem Description

The GNU Compiler Collection (usually shortened to GCC) is a compiler system produced by the GNU Project supporting various programming languages. But it doesn’t contains the math operator “!”.
In mathematics the symbol represents the factorial operation. The expression n! means "the product of the integers from 1 to n". For example, 4! (

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值