码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-18 14:58:35      阅读:1225      评论:0      收藏:0      [点我收藏+]

标签:交换   研究   组成   pre   加密   cpp   结果   highlight   style   

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

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

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

标签:交换   研究   组成   pre   加密   cpp   结果   highlight   style   

原文地址:https://www.cnblogs.com/wjt-is-for-you/p/9977743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!