有时候会混淆 3mod10 和 10mod3 的结果,索性写个小代码验证一下。
#include<stdio.h>
int main()
{
for(int i=1;i<=10;i++)
{
printf("%d mod 10 = %d\n",i,i%10);
}
printf("------------\n");
for(int i=10;i>=1;i--)
{
printf("10 mod %d = %d\n",i,10%i);
}
return 0;
}
可以看到,对于 a mod b:(a>0,b>0)
①若a<b,则 a mod b = a;
②若a>=b,则 a mod b 的结果符合正常的除法取余数操作。