康托展开

public class main
{

public static void main(String[] args)
{

    // TODO Auto-generated method stub
    System.out.println("请输入正整数");
    Scanner sc=new Scanner(System.in);    
    int n=sc.nextInt();
    sc.nextLine();
    for(int i=0;i<n;i++)
    {
        String s1="abcdefghijkl";
        char[] arr1=s1.toCharArray();
        System.out.println("请输入字符串");
        String s2=sc.nextLine();
        //System.out.println(s2);
        char[] arr2=s2.toCharArray();
        int rank=0;
        for(int j=0;j<12;j++)
        {
            int index=findIndex(arr1, arr2[j]);
            rank=rank+index*factorial(12-1-j);
            System.out.println("元素所在坐标"+arr2[j]+index);
            arr1[arr2[j]-'a']='l'+1;

        }
        System.out.println(rank+1);
    }

}
static public int factorial(int n)
{
    int result=1;
    for(int i=1;i<=n;i++)
    {
        result=result*i;
    }
    return result;
}
static public int findIndex(char[] arr,char c)
{
    int index=0;
    for(int i=0;i<12;i++)
    {
        if(arr[i]<c)
            index++;
        //System.out.println(arr[i]+" "+c);
        //System.out.println("元素所在坐标"+index);
    }

    return index;
}

}

全部评论

相关推荐

大叔叔1:你把自己说的话打码,所以你想表达什么
点赞 评论 收藏
分享
头像
03-20 22:00
重庆大学 Java
适彼乐土:“他们不行再找你” 最后的底牌吗?有点意思
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务