华为机试:求最小公倍数、Ja题目2-3级(走格子)
来源:互联网 发布:苹果网络电话软件 编辑:程序博客网 时间:2024/05/21 02:20
1.求最小公倍数
题目描述
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。
输入描述:
输入两个正整数A和B。
输出描述:
输出A和B的最小公倍数。
示例1
输入
5 7
输出
35
import java.util.Scanner; public class Main3 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); //之前我一直还不知道,最小公倍数与最大公约数还有这个关系 System.out.println(a*b/getMaxMult(a,b)); } private static int getMaxMult(int a, int b) { //循环取余,最后输出b int m = a % b; while (m != 0) { a=b; b=m; m=a%b; } return b; } }
2.Ja题目2-3级(走格子)
题目描述
请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。
输入描述:
输入两个正整数
输出描述:
返回结果
示例1
输入
22
输出
6
package JianZOffer;import java.util.Scanner;//算法1:用递归来实现public class Main1 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); System.out.println(getMaxNum(a,b)); } private static int getMaxNum(int a, int b) { if(a==1) return b+1; else if(b==1) return a+1; else{ return getMaxNum(a-1,b)+getMaxNum(a,b-1); } } }//算法2://组合数学思想:(m+n)的阶乘除以m与n分别的阶乘的积public class Main2{public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){int n=sc.nextInt();int m=sc.nextInt();int top=factorial(m+n);int behind=factorial(m)*factorial(n);System.out.println(top/behind);}}private static int factorial(int n) {int sum=1;for (int j = 0; j <=n; j++) {sum*=j;}return sum;}}//算法3://动态规划思想 dp[][]第一行为1,第一列为1,其余dp[i][j] = dp[i-1][j] + dp[i][j-1]public class Main3{public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){int n=sc.nextInt();int m=sc.nextInt();System.out.println(getdp(n,m));}}private static int getdp(int n, int m) {int [][]dp=new int[n+1][m+1];dp[0][0]=0;for (int i = 0; i <=n; i++) {dp[i][0]=1;}for (int j = 0; j <=m; j++) {dp[0][j]=1;}for (int i = 1; i <=n; i++) {for (int j = 1; j <=m; j++) {dp[i][j]=dp[i][j-1]+dp[i-1][j];}}return dp[n][m];}}
阅读全文
0 0
- 华为机试:求最小公倍数、Ja题目2-3级(走格子)
- 【华为机试】求最小公倍数
- 华为oj--走格子
- 华为OJ题目(十三):求最小公倍数
- 华为机试---最小公倍数
- 【华为oj】求最小公倍数
- 【华为OJ】求最小公倍数
- 【华为 OJ 】 求最小公倍数
- 华为上机--求最小公倍数
- 【华为OJ】求最小公倍数
- 华为OJ——201301 JAVA 题目2-3级(棋盘走法)
- UVA116走格子求最短路
- 华为oj之求最小公倍数
- 【华为OJ】【067-求最小公倍数】
- 华为OJ 初级:求最小公倍数
- 华为oj初级 求最小公倍数
- 走格子
- 走格子
- j2se项目如何打成可以运行Jar包
- HTML5 拖拽效果 解析
- 使用Eclipse构建Maven项目 (step-by-step)
- 决策树Python实现
- 模板的多态
- 华为机试:求最小公倍数、Ja题目2-3级(走格子)
- linux不能import caffe
- Error:Conflict with dependency 'com.google.code.findbugs:jsr305' in project ':app':报错解决
- office2007安装找不到文件问题
- 对于 升级 Xcode 9.0 beta2 产生的各种问题解决办法。
- .net 获取网站根目录的方法
- sqlserver 2013 sa用户添加sql数据库的映射 无法使用特殊主体sa
- SVN服务搭建
- 000011