数学语言和java基础语言是对应的。在数学中,使用变量需要假设一个,在java中也需要声明一个。
数学:
设x=9
设整数x=9,设y属于N,y=2x
设整数k=x-9+y
java:
int x=9;
int y=2*x;
int k=x-9+y;
声明一个函数:
数学:
设函数f(x)=2x-5,x属于N
设整数dd=f(4),
设整数kk=f(dd-3),
设整数tt=f(f(kk-1)+3)+2
java:
static int f(int x){
return 2*x-5;
}
int dd=f(4);
int kk=f(dd-3);
int tt=f(f(kk-1)+3)+2;
声明有多个参数的函数:
数学:
设函数g(x,y),其中x,y均属于N,
设整数qq=g(f(5)-1,f(dd)+2)
设整数sa=g(f(2)-1,kk)
设整数vv=g(f(3)-1,dd)
java:
static int g(int x,int y){
if(x>0){
return 2*x-y+6;
}else if(x<0){
return f(x-y)+f(y);
}else{
return f(2*y-4);
}
}
int qq=g(f(5)-1,f(dd)+2);
int sa=g(f(2)-1,kk);
int vv=g(f(3)-1,dd);
在计算机中是由斐波那契数列引出计算机里的递归。斐波那契数列是1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 ,610, 987……。在数学中可以表示为
F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
在java中
static int F(int x){
if(x<2){
return x;
}else{
return F(x-1)+F(x-2);
}
}
int mm=F(5);
int nn=F(7);
以上的完整代码
main(){
int x=9;
int y=2*x;
int k=x-9+y;
int dd=f(4);
int kk=f(dd-3);
int tt=f(f(kk-1)+3)+2;
int qq=g(f(5)-1,f(dd)+2);
int sa=g(f(2)-1,kk);
int vv=g(f(3)-1,dd);
int mm=F(5);
int nn=F(7);
System.out.println("dd:"+dd+",kk:"+kk+",tt"+tt);
System.out.println("qq:"+qq+",sa:"+sa+",vv:"+vv);
System.out.println("mm:"+mm+",nn:"+nn);
}
static int f(int x){
return 2*x-5;
}
static int g(int x,int y){
if(x>0){
return 2*x-y+6;
}else if(x<0){
return f(x-y)+f(y);
}else{
return f(2*y-4);
}
}
static int F(int x){
if(x<2){
return x;
}else{
return F(x-1)+F(x-2);
}
}