如下
D F G 同字母
+ D F G 算術計算豎式
───────
語句
下面是我自己的JAVA代碼
import java
public class PaiLei
static int count=
private char[] symbol=
int [] num=
public void check()
//System
//temp
int temp
//temp
int temp
//temp
int temp
//判斷表達式是不是成立
//System
if((temp
count++;
System
System
System
print();
}
}
//function方法是核心方法
/** *//**
例
N=
到N的全部排列
就必須尋找不同排列之間的規律
列情況
按從小到大的順序排列
置上的數字變大
持不變
要盡可能小
來代替它
有數字按逆序排列
至左找到第一個位置
滿足上述條件的位置
字所在的位置
過來
結果應該是
Input n:
#include<iostream>
using namespace std;
void main(){
int n; //n個數字的排列;
cout<<
cin>>n;
int *p=new int[n]; //數組保存各位數字;
for(int i=
p[i]=i+
do{
for(i=
cout<<p[i]<<
cout<<endl;
for(int j=n
if(p[j]>p[j
if(j==
j
for(int k=n
//找要交換的位置
if(p[k]>p[j])break;
swap(p[k]
//把位置
for(int x=j+
swap(p[x]
}while(
delete []p;
}
*/
public void function()throws IOException
int i
do
check();
//write();
for(i=
if(num[i]>num[i
break;
}
if(i==
break;
i
for(j=
if(num[j]>num[i]) break;
}
temp= num[j];
num[j]=num[i];
num[i]=temp;
//下面循環是
for(int x=i+
temp=num[x];
num[x]=num[y];
num[y]=temp;
}
}while(true);
}
//輸出正確結果的方法
public void print()
for(int j=
//輸出ABCDEFGXYZ
System
}
System
for(int j=
//輸出他們對應的值
System
}
System
System
System
System
System
System
}
//將所有排列寫入記事本
public void write()throws IOException
File myfile=new File(
FileOutputStream out=new FileOutputStream(myfile
DataOutputStream out
byte[] temp=
for(byte i=
temp[i]=(byte)num[i]; //num數組是一個int型
out
PrintStream out
out
// out
}
PrintStream out
out
// out
//==============下面幾行注釋了的是
// ByteArrayInputStream in=new ByteArrayInputStream(temp);
// int data=in
// while(data!=
// //out
// System
// data=in
// }
// System
// in
out
}
public static void main(String [] args) throws IOException
PaiLei p=new PaiLei();
p
}
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26328.html