我想要一种算法来生成所有可能的N位数字,其数字按升序排列。算法生成所有可能的N位数字,其数字递增顺序
例如:如果N = 3,则可能数是:012,123,234,246,567,259,因为:
...
等。
我该怎么办?
我开发了以下算法,但它只生成连续增加数字的数字,如123,234,345,456,567等。因此,一大组数字被遗漏。
private static void generate(int start,int n)
{
if((start+n)>9)
return;
else
{
for(int i=0;i<n;i++)
System.out.print(start+i);
System.out.println();
generate(start+1,n);
}
}
试着将问题解决为一组较小的问题。例如,您需要生成10位数字。如果你已经有9位数字的数字解决了,你可以得到你的答案吗? 5位数字呢? –