标签:交换 研究 组成 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