小编use*_*119的帖子

允许重复时如何获得第 n 个排列?

欧拉计划 24:数字 0、1、2、3、4、5、6、7、8 和 9 的百万分之一字典排列是多少?

如果允许重复怎么办?像11111111111223344457等等。我怎样才能得到百万分之一的排列,其中重复也包括在计数中。

请注意,输入仍然相同。输入中没有重复。

我想生成长度为 10 的所有可能的密码。密码可以包含重复的字符,所以我希望我的函数也适用于此。

这是给出字符串第 n 个排列的代码。它的工作原理是利用对于 n 个元素有 n! 排列。并在字典排列第一(n-1)!排列将从第一个数字开始,依此类推。

如何修改它以获取重复的字符串?我应该使用任何特定的算法?

为了澄清事情,我不仅需要百万分之一排列。我需要所有可能的排列。通过在此函数上运行 for 循环,我可以获得所有排列而无需重复。但我无法通过重复获得排列。我想要重复排列。因为我想获得所有可能的密码。想想如果只允许数字,您可以拥有 10 个字母的所有可能密码。10^10。我想要所有这些。

import java.util.*;

public class NthPermutation{

    private static int Factorial(int n){  
        if (n < 0)
            return 0;
         int ans = 1;
         for (int i=1;i<=n;++i)
            ans *= i;
         return ans;
     }

     public static String getNth(List<Integer> original, int permNum){

         List<Integer> numbers = new ArrayList<Integer>(original);  
         String nth = "";
         permNum--;
         int N = numbers.size();  

         for (int …
Run Code Online (Sandbox Code Playgroud)

java algorithm math permutation

5
推荐指数
1
解决办法
2307
查看次数

使用固定数量的字节java读取文件

我正在编写一个程序来复制大文件,所以我想读取特定的字节数并写入另一个文件.我想复制文件并获得相同的字节数.但我越来越多了.另外,我还希望文件的内容保持不变.我在这做错了什么?如果有人能解释为什么我会收到这些额外的文本,那就太棒了.

的test.txt

sometext sometext sometext sometext
sometext sometext sometext sometext
sometext sometext sometext sometext
sometext sometext sometext sometext
Run Code Online (Sandbox Code Playgroud)

Practice.java

public class Practice{
    public static void main(String[] args){

    byte[] buffer = new byte[100];

    try{
        FileInputStream f = new FileInputStream("test.txt");
        FileWriter writer = new FileWriter("copy_test.txt");
        int b;
        while ((b=f.read(buffer)) != -1 )
            writer.write(new String(buffer));
        writer.close();
    } catch(Exception e){
        e.printStackTrace();
    }
 }
}
Run Code Online (Sandbox Code Playgroud)

copy_test.txt

sometext sometext sometext sometext
sometext sometext sometext sometext
sometext sometext sometext sometext
sometext sometext sometext sometext
metext sometext sometext …
Run Code Online (Sandbox Code Playgroud)

java byte file filestream

1
推荐指数
1
解决办法
1006
查看次数

标签 统计

java ×2

algorithm ×1

byte ×1

file ×1

filestream ×1

math ×1

permutation ×1