用java:设计函数f(x),f(x)=1(x=1时;f(x)=3*f(x-1)+2(>1时);x为正整数。

 我来答
liubird
2011-11-20 · TA获得超过1932个赞
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:938万
展开全部
采用非递归的方式,从下往上计算:
public class Test3 {
public static void main(String [] args) {
Test3 t = new Test3();
System.out.println("f(1) = " + t.f(1));
System.out.println("f(2) = " + t.f(2));
System.out.println("f(3) = " + t.f(3));
System.out.println("f(4) = " + t.f(4));
System.out.println("f(10) = " + t.f(10));
}
public int f(int x) {
int res = 1;
for(int i=2; i<=x; i++) {
res = res * 3 + 2;
}
return res;
}
}

输出结果:
f(1) = 1
f(2) = 5
f(3) = 17
f(4) = 53
f(10) = 39365
mikemelon
2011-11-16 · TA获得超过4594个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1576万
展开全部
public class Test1 {

public static int f(int x){
if(x<1){
System.out.println("x不能小于1");
return 0; //
}
if(x==1){
return 1;
}else{
return 3*f(x-1)+2;
}
}

public static void main(String[] args) {
System.out.println("f(1)="+f(1));
System.out.println("f(2)="+f(2));
System.out.println("f(3)="+f(3));
System.out.println("f(4)="+f(4));
System.out.println("f(5)="+f(5));
System.out.println("f(6)="+f(6));
}

}

// 运行结果:
f(1)=1
f(2)=5
f(3)=17
f(4)=53
f(5)=161
f(6)=485

// test ok
追问
用java语言:编程输入两个数整数想x,y,求x的y次幂。
追答
import java.util.Scanner;

public class Test2 {
public static void main(String[] args) {
int x,y;

Scanner sc = new Scanner(System.in);
System.out.print("输入底数x:");
x=sc.nextInt();
System.out.print("输入指数y:");
y=sc.nextInt();
System.out.println("x的y次方幂="+(int)(Math.pow(x, y)));

}

}

// 运行结果:

输入底数x: 4
输入指数y: 2
x的y次方幂=16
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yx2287422
2011-11-16 · 超过12用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:40.4万
展开全部
递归一下:
public int fx(int result, int x){
if(x == 1){
return result;
}else{
result = 3*result + 2;
return fx(result, x-1);
}
}

调用时就
int x = 5;
System.out.println(fx(1, x));
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fff3ffc
2011-11-18 · TA获得超过574个赞
知道小有建树答主
回答量:253
采纳率:100%
帮助的人:117万
展开全部
递归和斐波那契数列(fibonacci)一样

测试的数不要太大 不然你就等吧
public class TestDG {
static long count;
static int fx(int x){
if(x>1){
//System.out.printf("fx(%d):fx(%d)+fx(%d)\n",x,x-1,x-2);
System.out.println(count++);
return fx(x-1)+fx(x-2);
}else{
return 1;
}
}
public static void main(String[] args){
System.out.println(fx(27));
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在仙霞关做公交的凤仙花
2011-11-16 · TA获得超过189个赞
知道小有建树答主
回答量:463
采纳率:0%
帮助的人:152万
展开全部
f(x){
if(x=1){x=3*(x-1)+2}
else{System.out.println("x为整数"); }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式