字母重新排列
题目
问题描述
将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。
请问,总共能排列如多少个不同的单词。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
题目分析:可以使用计算机计算7 * 6 * 5 * 4 * 3 * 2得出答案,也可全排列的代码;思路还是比较简单的;
如果你这样想,那恭喜你!!!
恭喜入坑!!!
我答题的时候也掉坑里了
心里一万个。。。。。**
这道题有个坑就是字符中有两个A,所以最终要除以2
代码如下:public class _1 {
static int sum=0;
public static void main(String[] args) {
// TODO Auto-generated method stub
char a[]= {'L','A','N','Q','I','A','O'};
f(a,0);
System.out.println(sum/2);
}
static void f(char a[],int k) {
if(k==a.length) {
sum++;
}
for(int i=k;i<a.length;i++) {
char s=a[i];
a[i]=a[k];
a[k]=a[i];
f(a,k+1);
s=a[i];
a[i]=a[k];
a[k]=a[i];
}
}
}
如果有更好的算法请多多指教!谢谢!!