`

常用的一些基本算法 (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;
			}
		}
	}

其他的也都有问题

相关推荐

    一些常用算法汇集集锦

    这个"一些常用算法汇集集锦"包含了一系列基础且重要的算法,适合学习和面试准备。以下是对这些算法的详细解释: 1. **Word2000使用技巧**: 虽然不是算法,但熟练掌握文档处理软件的使用技巧可以提高工作效率。Word...

    常用算法 常用算法 常用算法

    本篇文章将深入探讨"常用算法"这一主题,旨在帮助你理解并掌握这些算法的基本概念、应用场景及实现方法。 首先,让我们从排序算法开始。排序算法是计算机科学中最基础且广泛使用的算法之一,例如冒泡排序、插入排序...

    300常用加解密算法

    在300种常用的加解密算法中,可能包含一些经典算法的变种和新近发展的加密技术。例如,AES有多种轮数的选择,可以提供不同的安全级别;RSA可以结合不同的填充模式,提高安全性;而ECC则以其高效性和安全性在移动设备...

    JAVA常用基本算法.pdf

    JAVA常用基本算法.pdf

    C常用算法程序集,各种经典算法

    C语言中的基本算法包括排序算法、查找算法、递归算法、字符串处理算法等。例如,排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等,它们分别适用于不同的数据结构和场景。查找算法如线性查找、二分...

    图形学的四个基本算法

    在本资源中,我们关注的是图形学的四个基本算法,它们是计算机图形学的基石,用于创建各种复杂的视觉效果。这四个基本算法包括直线生成、圆绘制、椭圆绘制。以下是对每个算法的详细解释: 1. 直线生成算法: - **...

    python常用排序算法汇总

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

    ACM的常用算法模板.pdf

    ACM的常用算法模板.pdf

    Java常用算法手册

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

    C语言的一些常用算法

    本文将围绕标题“C语言的一些常用算法”展开,详细介绍其中涉及的算法,并通过实例代码进行解析。 首先,我们来看经典的**河内之塔(Towers of Hanoi)**算法。这是一个递归问题,展示了如何通过分治策略解决复杂...

    C语言常用算法归纳.pdf

    本文主要归纳了C语言中常见的算法,分为基本算法、非数值计算的经典算法以及数值计算的经典算法。 一、基本算法 1. **交换**:在C语言中,交换两个变量的值通常需要一个辅助变量。例如,给定两个整数a和b,通过一...

    电子计算机常用算法 电子计算机常用算法

    1. **排序算法**:排序是计算机科学中最基本的问题之一,包括快速排序、归并排序、堆排序、冒泡排序、插入排序和选择排序等。这些算法各有优劣,例如快速排序平均时间复杂度为O(n log n),但在最坏情况下会退化为O(n...

    常用数据挖掘算法总结及Python实现.pdf

    第七部分,数据结构与算法,讲解了如数组、链表、树、图等基本数据结构以及排序、查找等经典算法,这些都是有效解决数据挖掘问题的基础。 第八部分,SQL知识,介绍了SQL(结构化查询语言),它是处理关系数据库的...

    Visual C++常用数值算法集 源代码

    1. **数值计算基础**:书中可能涵盖了基本的数学运算,如线性代数(矩阵运算、向量操作)、微积分(求导、积分)、数值微分与数值积分,以及数值优化方法。 2. **线性方程组求解**:可能包括高斯消元法、LU分解、QR...

    经典算法大全_增加加一些常用算法的改进方法(经典)

    本资源“经典算法大全_增加加一些常用算法的改进方法(经典)”正是为了帮助开发者深入理解并提升算法能力而编写的。它包含了三个文档,分别对基础算法进行了分析,对经典算法进行了研究,并提供了常用算法的改进方案...

    五大常用算法之贪心算法,算法数据结构 五大常用算法

    贪心算法的基本算法框架可以概括为以下几个步骤: 1. 问题描述:描述问题的输入和输出。 2. 贪心选择:选择当前状态下局部最好的选择。 3. 解决问题:通过贪心选择来得到问题的解。 贪心算法的应用场景 贪心算法...

    C语言常用18种算法范例

    本资源“C语言常用18种算法范例”提供了一系列C语言实现的常见算法,这对于学习和理解C语言编程以及算法设计具有极大的帮助。以下是对这18种算法的详细解释: 1. **排序算法**:包括冒泡排序、选择排序、插入排序、...

    c语言常用算法集

    2. **排序算法**:CH02和CH04可能涵盖了一些基本和高效的排序算法,例如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。排序算法的学习有助于理解如何优化时间复杂度和空间复杂度。 3. **搜索算法**...

Global site tag (gtag.js) - Google Analytics