java面试题【递归】和【循环】的考察7月中旬
来源:互联网 发布:mac用户登录界面卡住 编辑:程序博客网 时间:2024/05/21 10:42
/*
分别定义三个方法类:
一个Fan类调用个方法。
*/
public class Fan
{
public static void main(String[] args)
{
//1,求特殊数列的前n项和
QiuHe q = new QiuHe();
double sum = q.function(10);//求前10项之和
double a = q.funM(6);
double b = q.funN(6);
System.out.println("第十项的m和n分别是:m=="+a+"n=="+b);
System.out.println("数列的前n项和为:"+sum);
//2,求第十次反弹多高,十次小球进过的路径之和
High100 h = new High100();
double high = h.funThHigh(10);
double sumHigh = h.funSumHigh(10);
System.out.println("十次共经过:"+sumHigh +"米");
System.out.println("求第十次反弹多高:"+high+"米");
//3,打印水仙花数
PrintNum p = new PrintNum();
p.fun();
}
}
class QiuHe
{
public double function(double n)//n 代表的是求前n项的和
{
if(n==1)
return funM(1)/funN(1);
if(n==2)
return funM(2)/funN(2)+function(1);
else
return funM(n)/funN(n)+function(n-1);
}
public double funM(double m)
{
if(m==1)
return 2;
if(m==2)
return 3;
else
return funM(m-2)+funM(m-1);
}
public int funN(double n)
{
if(n==1)
return 1;
if(n==2)
return 2;
else
return funN(n-2)+funN(n-1);
}
}
class High100
{
double sum;
public double funSumHigh(int n)
{
double high = 100;
for(int i = 0 ; i<10; i++)
{
high = high/2;
sum = sum + high*2;
}
return sum+100;
}
public double funThHigh(int n)
{
double high = 100;
for( int i = n; i>0;i--)
{
high = high/2;
}
return high;
}
}
class PrintNum
{ //定义 个位,十位,百位 并初始化。
int g=1;
int s=1;
int b=1;
public void fun()
{
for(int m = 1 ; m<10 ; m++)
{
for(int i = 0; i<10; i++)
{
for(int j = 0; j<10; j++)
{
int ge,shi,bai;
ge = j;
if(i==0)
shi = 10;
shi = i*10;
bai = m*100;
//将循环中可能出现的每一种情况的 个 十 百 位 赋值给 g,s,b
g = j;
s = i;
b = m;
int sum = ge+shi+bai;
if(g*g*g+s*s*s+b*b*b==sum)//输出符合条件的数
System.out.println("水仙花数有:"+sum);
}
}
}
}
}
分别定义三个方法类:
一个Fan类调用个方法。
QiuHe 问题一:
求特殊数列的前n项和
求数列的前N项和: 2/1 + 3/2 + 5/3 + 8/5 + 13/8 + 21/13 + ... +m/n
High100
问题二:
问题描述:一个小球从100米高处自由落下,每次弹起的高度是当前高度的一半。
求第十次反弹多高,十次共走了多长路径
PrintNum
问题三:
打印所有的水仙花数
三位数 各位的平方之和 等于 这个数本身 则为水仙花数
*/
public class Fan
{
public static void main(String[] args)
{
//1,求特殊数列的前n项和
QiuHe q = new QiuHe();
double sum = q.function(10);//求前10项之和
double a = q.funM(6);
double b = q.funN(6);
System.out.println("第十项的m和n分别是:m=="+a+"n=="+b);
System.out.println("数列的前n项和为:"+sum);
//2,求第十次反弹多高,十次小球进过的路径之和
High100 h = new High100();
double high = h.funThHigh(10);
double sumHigh = h.funSumHigh(10);
System.out.println("十次共经过:"+sumHigh +"米");
System.out.println("求第十次反弹多高:"+high+"米");
//3,打印水仙花数
PrintNum p = new PrintNum();
p.fun();
}
}
class QiuHe
{
public double function(double n)//n 代表的是求前n项的和
{
if(n==1)
return funM(1)/funN(1);
if(n==2)
return funM(2)/funN(2)+function(1);
else
return funM(n)/funN(n)+function(n-1);
}
public double funM(double m)
{
if(m==1)
return 2;
if(m==2)
return 3;
else
return funM(m-2)+funM(m-1);
}
public int funN(double n)
{
if(n==1)
return 1;
if(n==2)
return 2;
else
return funN(n-2)+funN(n-1);
}
}
class High100
{
double sum;
public double funSumHigh(int n)
{
double high = 100;
for(int i = 0 ; i<10; i++)
{
high = high/2;
sum = sum + high*2;
}
return sum+100;
}
public double funThHigh(int n)
{
double high = 100;
for( int i = n; i>0;i--)
{
high = high/2;
}
return high;
}
}
class PrintNum
{ //定义 个位,十位,百位 并初始化。
int g=1;
int s=1;
int b=1;
public void fun()
{
for(int m = 1 ; m<10 ; m++)
{
for(int i = 0; i<10; i++)
{
for(int j = 0; j<10; j++)
{
int ge,shi,bai;
ge = j;
if(i==0)
shi = 10;
shi = i*10;
bai = m*100;
//将循环中可能出现的每一种情况的 个 十 百 位 赋值给 g,s,b
g = j;
s = i;
b = m;
int sum = ge+shi+bai;
if(g*g*g+s*s*s+b*b*b==sum)//输出符合条件的数
System.out.println("水仙花数有:"+sum);
}
}
}
}
}
0 0
- java面试题【递归】和【循环】的考察7月中旬
- 一道考察递归思想的面试题
- [递归和循环]面试题7
- 论坛发现的华为面试题for循环考察
- Java算法面试题(001) 如何使用循环和递归计算单链表的长度
- [递归和循环]面试题5
- [递归和循环]面试题6
- [递归和循环]面试题8
- 网易面试题 对String和java调用方法的考察
- 【面试题】考察指针和内存布局的一个题目
- 7月中旬了
- 两个月小结(7中旬 ~ 9中旬 )
- 化为面试题,栈的考察
- 一道考察赋值语句的面试题
- java 递归 面试题
- java递归面试题
- java递归常见的面试题
- 7月中旬过了
- G - Self Numbers(2.2.1)
- C语言 经典练习 输出当前时间的下一秒
- ubuntu安装及使用wine
- poj 1163数字三角形问题--动态规划
- [深入浅出Cocoa]iOS程序性能优化
- java面试题【递归】和【循环】的考察7月中旬
- iOS解析---WebView和js交互原理
- HDU - 1213 How Many Tables (简单并查集)
- pojo的说明
- form表单和表格
- Http的get与post的对比
- 看《OpenGL超级宝典(第四版)》的4.5.2节时遇到了一系列问题,经过不懈努力终于解决,现将过程记录在下,以便查找追思。
- BUPT 2014新生暑假个人排位赛02
- 使用Nginx搭建Http代理服务器