取模(取余)运算小结规律——用于数字加密以及破译

Posted wjt-is-for-you

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取模(取余)运算小结规律——用于数字加密以及破译相关的知识,希望对你有一定的参考价值。

切入点来源于课堂测验习题。

输入一个四位数,该数是被加密后的结果。加密方法是:原数每一位数字加9,除以10取余,再将第一位和第三位,第二位和第四位数字交换,组成加密后的新数字,求出原来的四位数。

输入:3421

输出:3245

核心代码:

a = num / 1000;//取千位数
b = (num/100) %10;//取百位数
c = (num/10) % 10;//取十位数
d = num % 10;//取个位数
//交换数字
temp=c;
c=a;
a=temp;
temp=d;
d=b;
b=temp;
//求原数各位
a=(a+1)%10;
b=(b+1)%10;
c=(c+1)%10;
d=(d+1)%10;

  通过本例拓展研究发现,设通式为(x+m)%n=y   

       注:由于x-m数字操作范围较小,在此不做研究

x:原数某一位上数字

m:对某一数字变换

n:取模的除数

y:结果

下面分别就①m<n②m>n讨论

①当m<n时,x=[y+(n-m)]%n;

②当m>n时,x=[y-(m-n)]%n;

以上是关于取模(取余)运算小结规律——用于数字加密以及破译的主要内容,如果未能解决你的问题,请参考以下文章

php编程运算,如何得到3 4 7 8 11 12 15 16 19 20这个规律的数字

java中取余运算符 (%)

取模运算

Java 中的取模和取余

位运算取余取模

位运算总结 取模 取余