闲来无事,,回顾了下一些基本常用的算法题。一共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. **Word2000使用技巧**: 虽然不是算法,但熟练掌握文档处理软件的使用技巧可以提高工作效率。Word...
本篇文章将深入探讨"常用算法"这一主题,旨在帮助你理解并掌握这些算法的基本概念、应用场景及实现方法。 首先,让我们从排序算法开始。排序算法是计算机科学中最基础且广泛使用的算法之一,例如冒泡排序、插入排序...
在300种常用的加解密算法中,可能包含一些经典算法的变种和新近发展的加密技术。例如,AES有多种轮数的选择,可以提供不同的安全级别;RSA可以结合不同的填充模式,提高安全性;而ECC则以其高效性和安全性在移动设备...
JAVA常用基本算法.pdf
C语言中的基本算法包括排序算法、查找算法、递归算法、字符串处理算法等。例如,排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等,它们分别适用于不同的数据结构和场景。查找算法如线性查找、二分...
在本资源中,我们关注的是图形学的四个基本算法,它们是计算机图形学的基石,用于创建各种复杂的视觉效果。这四个基本算法包括直线生成、圆绘制、椭圆绘制。以下是对每个算法的详细解释: 1. 直线生成算法: - **...
# sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() #计数排序 # sort.quickSort() #快速排序 该排序算法把每次的排序结果都列出来,可供初学者学习。 self.arr存放的是待排序...
ACM的常用算法模板.pdf
首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着,详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏、密码学等领域中的应用;最后,列举了算法的一些常见面试题。书中知识点覆盖全面,...
本文将围绕标题“C语言的一些常用算法”展开,详细介绍其中涉及的算法,并通过实例代码进行解析。 首先,我们来看经典的**河内之塔(Towers of Hanoi)**算法。这是一个递归问题,展示了如何通过分治策略解决复杂...
本文主要归纳了C语言中常见的算法,分为基本算法、非数值计算的经典算法以及数值计算的经典算法。 一、基本算法 1. **交换**:在C语言中,交换两个变量的值通常需要一个辅助变量。例如,给定两个整数a和b,通过一...
1. **排序算法**:排序是计算机科学中最基本的问题之一,包括快速排序、归并排序、堆排序、冒泡排序、插入排序和选择排序等。这些算法各有优劣,例如快速排序平均时间复杂度为O(n log n),但在最坏情况下会退化为O(n...
第七部分,数据结构与算法,讲解了如数组、链表、树、图等基本数据结构以及排序、查找等经典算法,这些都是有效解决数据挖掘问题的基础。 第八部分,SQL知识,介绍了SQL(结构化查询语言),它是处理关系数据库的...
1. **数值计算基础**:书中可能涵盖了基本的数学运算,如线性代数(矩阵运算、向量操作)、微积分(求导、积分)、数值微分与数值积分,以及数值优化方法。 2. **线性方程组求解**:可能包括高斯消元法、LU分解、QR...
本资源“经典算法大全_增加加一些常用算法的改进方法(经典)”正是为了帮助开发者深入理解并提升算法能力而编写的。它包含了三个文档,分别对基础算法进行了分析,对经典算法进行了研究,并提供了常用算法的改进方案...
贪心算法的基本算法框架可以概括为以下几个步骤: 1. 问题描述:描述问题的输入和输出。 2. 贪心选择:选择当前状态下局部最好的选择。 3. 解决问题:通过贪心选择来得到问题的解。 贪心算法的应用场景 贪心算法...
本资源“C语言常用18种算法范例”提供了一系列C语言实现的常见算法,这对于学习和理解C语言编程以及算法设计具有极大的帮助。以下是对这18种算法的详细解释: 1. **排序算法**:包括冒泡排序、选择排序、插入排序、...
2. **排序算法**:CH02和CH04可能涵盖了一些基本和高效的排序算法,例如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。排序算法的学习有助于理解如何优化时间复杂度和空间复杂度。 3. **搜索算法**...