`

常用的一些基本算法 (1)

阅读更多
闲来无事,,回顾了下一些基本常用的算法题。一共40到左右,以后每天连载着写点。

(1) 兔子生兔子问题。
    简单描述: f3=f1+f2;
    例子: 1,1,2,3,5,8,13......
    代码:
   
    public static void main(String[] args){
       robat(8);
}
     private static Integer  robat(Integer count){
     
       Integer result=0;
       for(int i=1;i<count;i++){
           if(i==1 || i==2){
                result=1;
             }else{
                 result=robat(i-1)+robat(i-2);
             }
   }
               return result;
}
    

(2) 素数问题
     简单描述: 计算某两个数范围内的素数或质数
      例子: 求101到200之间的素数。
      代码:   
      
       for(int i=101;i<=200;i++){
             boolean b=true;
             for(int j=2;j<=Math.sqrt(i);j++){
                    if(i%j==0){
                           b=false;
                      }
              }
                if(b){
                    System.out.println(i);
               }
       }
       

(3) 正整数分解质因数
     简单描述:对n进行分解质因数
     例子:输入90,打印出90=2*3*3*5
      代码:
     
        public static void main(String[] args) {
		// TODO Auto-generated method stub
		analyZhi(100);
	}

	private static void analyZhi(int shu) {
		// TODO Auto-generated method stub
		List<Integer> rlist=new ArrayList<Integer>();
		
		for(int i=2;i<=shu;i++){
			boolean b=true;
			if(i==2){
				rlist.add(i);
			}else{
				
			for(int j=2;j<=Math.sqrt(i);j++){
				if(i%j==0){
					b=false;
					break;
				}
			}
			if(b==true){
//				System.out.println(i);
				rlist.add(i);
			}
		  }
		}
		Integer a,dd=0;
		for(int m=0;m<rlist.size();m++){
			a=rlist.get(m);
			if(shu%a==0){
				dd=shu/a;
				System.out.println(a);
				break;
			}else{
				continue;
			}
		}
		if(dd>1){
			analyZhi(dd);
		}
		
	}
      

     大家,如果有啥新的算法思路,请赐教。。
   
分享到:
评论
1 楼 gexy1993 2011-08-26  
最后一个
private static List<Integer> result = new ArrayList<Integer>();

public static void main(String[] args) throws Exception {
		int num = 90;
		resolveNum(num);
		System.err.println(result);
	}

	public static void resolveNum(int num) {
		if (num == 1) {
			return;
		}
		for (int i = 2; i <= num; i++) {
			if (num % i == 0) {
				result.add(i);
				resolveNum(num / i);
				return;
			}
		}
	}

其他的也都有问题

相关推荐

    一些常用算法汇集集锦

    常用算法,一些基础的知识,供大家学习以及面试使用!!!

    JAVA常用基本算法.pdf

    JAVA常用基本算法.pdf

    python常用排序算法汇总

    # sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() #计数排序 # sort.quickSort() #快速排序 该排序算法把每次的排序结果都列出来,可供初学者学习。 self.arr存放的是待排序...

    Java常用算法手册

    首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着,详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏、密码学等领域中的应用;最后,列举了算法的一些常见面试题。书中知识点覆盖全面,...

    C语言常用18种算法范例

    嵌入式C语言常用18种算法范例,有着多种常用的c语言算法,可以直接调用

    常用算法简介 算法

    常用算法简介 算法,这个介绍了许多基本的算法

    编程常用基本算法.doc

    编程常用基本算法.doc

    图形学的四个基本算法

    这个资源包括了图形学四个基本算法的c++实现,可以很好的画出这些图形,注意下载库函数,里面的有些库函数在vc里面没有,需要自己下载

    常用基础算法

    常用基础算法介绍,使用算法

    常用基本算法(pascal)

    常用基本算法的实现,pascal语言实现。

    Java常用算法手册源代码

    第3章 基本算法思想 3.1 常用算法思想概述 3.2 穷举算法思想 3.2.1 穷举算法基本思想 3.2.2 穷举算法实例 3.3 递推算法思想 3.3.1 递推算法基本思想 3.3.2 递推算法实例 3.4 递归算法思想 …… 第2篇 算法应用篇 第4...

    单片机常用的14个C语言算法

    算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句...

    数模美赛常用算法集合

    数模美赛常用算法集合 代码和说明 基本齐全

    现代计算机常用数据结构和算法电子书

    关于数据结构和算法的电子书,高清版

    python常用排序算法(1).docx

    python常用排序算法 Python常用排序算法 排序算法是计算机科学中的基本算法之一,它是将一组数据按照一定的顺序进行排列的过程。在Python中,常用的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。...

    python常用排序算法.docx

    排序算法是计算机科学中的基本算法之一,它的主要作用是将一组数据按照一定的规则进行排序。在Python中,常用的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序等。下面将对这些排序算法进行详细的...

    Java的集中基本常用算法.pdf

    Java的集中基本常用算法.pdf

    常用几何关系算法

    ㈢ 多边形常用算法模块 1. 判断多边形是否简单多边形 8 2. 检查多边形顶点的凸凹性 9 3. 判断多边形是否凸多边形 9 4. 求多边形面积 9 5. 判断多边形顶点的排列方向,方法一 10 6. 判断多边形顶点的排列方向,...

Global site tag (gtag.js) - Google Analytics