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

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

输入一个四位数,该数是被加密后的结果。加密方法是:原数每一位数字加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;

猜你喜欢

转载自www.cnblogs.com/wjt-is-for-you/p/9977743.html