算法笔记 16_斐波那契数列、汉诺塔

happysneaker.com



1.斐波那契数列

public static long fibonacci(int num){
    if((num==0)||(num==1)){
        return num;
    }
    else{
        return fibonacci(num-1)+fibonacci(num-2);
    }
}


2.汉诺塔


//思想就是三步

①若起始柱子A只有一个盘子topN=1,那么直接从A移动到C柱子上;

②若大于一个盘子,那么先将n-1个盘子放到过渡柱子B上;然后把A上的最后一个大盘子放到C

   .最后把B上的n-1个柱子放到C上。

package 测试;
public class MainClass {
    public static void main(String[] args) {
        int nDisks = 2;
        doTowers(nDisks, 'A', 'B', 'C');
    }
    public static void doTowers(int topN, char from, char inter, char to) {
        if (topN == 1){
            System.out.println("Disk 1 from " + from + " to " + to);
        }else {
            doTowers(topN - 1, from, to, inter);
            System.out.println("Disk " + topN + " from " + from + " to " + to);
            doTowers(topN - 1, inter, from, to);
        }
    }
}


3.阶乘

public static long f(int num){
    if((num==0)||(nu==1)){
        return 1;
    }else{
        return f(num-1)*num;
    }
}


4.9x9乘法表

package 测试;
public class MainClass {
	
    public static void main(String[] args) {
    	for(int i=1;i<=9;i++){
    	    for(int j=1;j<=i;j++){
    	        System.out.printf("%d * %d = %d \t",j,i,i*j);
    	    }
    	    System.out.println();
    	}

    }
}


5. .txt文件并输入内容

BufferedWriter x = new BufferedWriter(new FileWriter(e://xxx.txt));
x.write("woshizifuchuan00");
x.close();


6.copy文件改后缀名

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.InputStream;
import java.io.OutputStream;

public class Jad2Java {

	public static void main(String[] args)throws Exception {

		// 源目录
        File srcDir = new File("e:\\java");
        if(!(srcDir.exists() && srcDir.isDirectory()))
            throw new Exception("目录不存在");

        File[] files =srcDir.listFiles(
            new FilenameFilter(){
                public boolean accept(File dir, String name) {
                    return name.endsWith(".java");
                }
            }
        );

        System.out.println("文件数量:"+files.length);

        // 目的目录
        File destDir = new File("e:\\jad");
        if(!destDir.exists())destDir.mkdir();
            for(File f :files){
                FileInputStream  fis = new FileInputStream(f);
                String destFileName =f.getName().replaceAll("\\.java$", ".jad");

                FileOutputStream fos =new FileOutputStream(new File(destDir,destFileName));
                copy(fis,fos);
                fis.close();
                fos.close();
                 }
        }

	private static void copy(InputStream ips,OutputStream ops) throws Exception{
                 int len = 0;
                 byte[] buf = new byte[1024];
                 while((len = ips.read(buf)) !=-1){
                         ops.write(buf,0,len);
                 }
        }
	
}


Unity那些事儿
请先登录后发表评论
  • 最新评论
  • 总共0条评论