我认为有错题
发布于 2017-04-11 21:08 2492 次浏览 0 赞 来自 试题交流  

关于那道输入一个数求把这个数拆开之和乘积最大给的范例就是错的,给了个15 输出144,15 拆成

3 4 4 4 之后乘积等于192 明显大于144 

我的代码是这样的

import java.util.Scanner;



public class Main{

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int num = in.nextInt();

System.out.println(f(num));

}

public static int f(int a){

if(a%2==1){

if(a/2==2) return 6;

if(a/2==3) return 12;

return f(a/2)*f(a/2+1);

}else{

if(a/2==2) return 4;

if(a/2==3) return 9;

return f(a/2)*f(a/2);

}

}

}


没有通过


4 条回复

错了吧,不能重复的数字哦

2017-04-11 21:09

敲黑板,注意审题,不同的自然数。好吧,我很丢人的去找了工作人员,然后重新审题发现了。

2017-04-11 21:10

目测楼主和我之前一样,没注意重复数字。另外,就算是重复数字,也应该是能分成3就分成3,不能分在分成2。15应该分成3 3 3 3 3 


2017-04-11 21:15

我曹,不同的自然数啊,我说我的15,最大值一直是243(3,3,3,3,3)。草,浪费我半个小时

2017-04-11 21:21
1
添加回复
回到顶部