package algorithm.lesson2;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Divide {
public static void main(String[] args) throws FileNotFoundException {
System.out.println("递归与分治\n"
+"题目:集合划分问题\n");
Scanner scanner;
for(int j=0;j<6;j++){
scanner=new Scanner(new File("BELL"+j+".IN"));
int in=scanner.nextInt();
int sum=0;
long startTime=System.nanoTime();
for(int i=1;i<=in;i++)
{
sum+=f(in,i);
}
System.out.println("-----------------------------------------------\n"+
"输入:"+in+"\n" +
"输出:"+sum+"\n"+
"运行时间:"+(System.nanoTime()-startTime)+" ns");
}
}
static int f(int n,int m)
{
if(m==1||n==m)
return 1;
else
return f(n-1,m-1)+f(n-1,m)*m;
}
}