JAVA栅栏密码解密程序

来源:互联网 发布:南天软件 待遇 编辑:程序博客网 时间:2024/06/10 15:08
package net.mindview;import static net.mindview.util.Print.*;import java.util.*;//str.replaceAll(" ", ""); 去掉所有空格,包括首尾、中间public class H{       public static void main(String[] args)    {        //String s="TEESCPEHRIAIHR";        //String s="TAHCEIRPEHIESR";        //String s="HLOOLELWRD";        String s="HLODYEORMZLWLYW";        String s1=s.replaceAll(" ","");        print("密文:"+s1);//测试        int len=s1.length();        print("密文共有"+len+"位");//测试        int []N=new int[len+1];        print("可分为:");        for(int i=2;i<=len-1;i++)        {            if(len%i==0)            {                N[i]=1;                printnb(i+"  ");            }        }        print("栏");        for(int j=2;j<=len-1;j++)        {            if(N[j]==1)//j=2 则共7组数,每组两个值            {                int c=len/j; //c=7                int n=0;                for(int k=1;k<=c;k++)                {                    n++;                    int sum=n;                    for(int p=1;p<=j;p++)                    {                        //print(sum);                        printnb(s1.charAt(sum-1));                        sum=sum+c;                    }                }                print();            }        }           }}   

输出:
密文:HLODYEORMZLWLYW
密文共有15位
可分为:
3 5 栏
HELLOWORLDMYYZW
HDOZLLYRLYOEMWW

原创粉丝点击