携程2017.4.11 编程题一
来源:互联网 发布:美得惨绝人寰知乎 编辑:程序博客网 时间:2024/06/08 19:19
乘积最大(携程2017春季招聘真题)
方法一:
import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * 有一个整数n,将n分解成若干个不同自然数之和,问如何分解能使这些数的乘积最大,输出这个乘积m * 155ms */public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while(scanner.hasNext()){int n = scanner.nextInt();System.out.println(getMax(n));}scanner.close();}private static int getMax(int n) {int max = 1;int i = 2;List<Integer> list = new ArrayList<>();while(n>=i){list.add(i);n = n-i;i++;}for(int k=list.size()-1,j=0;j<n;j++,k--){list.set(k, list.get(k)+1);}for (Integer integer : list) {max *= integer;}return max;}}
方法二:
import java.util.Scanner;//238mspublic class Main { public static void main(String[] args){ int n; Scanner scanner=new Scanner(System.in); n=scanner.nextInt(); if(n==1) System.out.println(0); if(n==2) System.out.println(1); if(n==3) System.out.println(2); if(n==4) System.out.println(3); int result=1; int[] factor=new int[n]; int length=n; for(int i=2;i<50;i++){ if(n-i<=i){ factor[i-2]=i; n=n-i; while(n!=0) { for (int j = (i - 2); j >= 0; j--) { if (n != 0) { factor[j]++; n--; } else break; } } break; } else{ n=n-i; factor[i-2]=i; } } for(int i=0;i<length;i++){ if(factor[i]==0) { break; } else result*=factor[i]; } System.out.println(result); }}//////////////////////////////////////////////////////////////////////////////////////////import java.util.Scanner;//230mspublic class Main { public static int maxProduct(int n) { int []a = new int[n]; int sum = 0, l = 0; for (int i = 2; i <= n; i++) { a[l++] = i; sum += i; if (sum > n) { sum -= i; l--; break; } } int left = n - sum; for (int i = l - 1; left > 0; left--) { a[i--]++; if (i < 0) i = l - 1; } int res = 1; for (int i = 0; i <= l-1; i++) res *= a[i]; return res; } public static void main(String []args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(maxProduct(n)); }}//相邻为1的乘积最大
1 0
- 携程2017.4.11 编程题一
- 编程题一
- java编程题一
- java编程题(一)
- 面试编程题(一)
- 笔试编程题(一)
- Java编程题练习(一)
- CVTE编程题(一)
- 编程一
- 【编程题】Java编程题一(10道)
- C++11并发编程(一):并发初探
- 一到逻辑题的编程解答
- 百度之星编程题一 ---
- 中大-复试-2010-编程题一
- 中大-复试-2009-编程题一
- 中大-复试-2008-编程题一
- 中大-复试-2005-编程题一
- 我今早做的一到编程题
- SQL总结
- JVM常用分析工具
- 破译仿射加密法
- 《傲慢与偏见》读后感
- 别再为了 this 发愁了:JS 中的 this 机制
- 携程2017.4.11 编程题一
- JavaWeb——Mybatis进阶mapper代理
- ZOJ2975-Kinds of Fuwas
- File类中的一些常用方法。
- 产品的前世今生
- 当Myelipse遇上Git(旺旺篇)
- 回溯法求八皇后问题
- centos6.4 虚拟机配置host only模式共享主机上网
- opengl图形拾取示例
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
模特春晓
春晓镇
春晓医院
春晓油田
春晓李白
春晓小学
春晓油气田
春晓赏析
春晓科技
书法春晓
春晓朗读
朗读春晓
春晓歌谱
春晓楷书
春晓书法
春晓伴奏
春晓影院
春晓拼音
春晓教案
春晓 洪雪梅
张春晓
春晓丁小柱
苏堤春晓旅游
春晓古诗朗诵
浩创梧桐春晓
春晓古诗配画图片
春晓古诗朗读
春晓古诗带拼音
联发西棠春晓
琼海翠堤春晓
春晓古诗的意思
春晓歌曲儿童歌曲
儿歌春晓歌曲
春晓的意思是什么
古诗春晓的诗意
春晓这首诗的意思
光大景湖春晓
春晓舞蹈服装
少儿舞蹈春晓
春晓是谁的诗
幼儿舞蹈春晓