public class ChengFa { public static void main(String[] args) { Scanner input = new Scanner(System.in); int a=input.nextInt(); int b=input.nextInt(); System.out.println(multiply(a,b)); }
public static int multiply(int a, int b) { int sum=0; for(int i=0;i<b;i++){ sum+=a; //乘法就相当于多次加法 } return sum; }
public class TiaoShuiBan { public static void main(String[] args) { Scanner input = new Scanner(System.in); int shorter=input.nextInt(); int longer=input.nextInt(); int k=input.nextInt(); System.out.println(Arrays.toString(divingBoard(shorter,longer,k))); }
public static int[] divingBoard(int shorter, int longer, int k) { // 最小值 int min = shorter * k; //就是可能性中最小取值 // 最大值 int max = longer * k; //就是可能性中最大取值 // 差值 int difference = longer - shorter; //每一次可能中差的一次结果 //数组长度 int len=0; if (k != 0) { if (difference == 0) { //最长和最短一样: 可能性就只有一种 len = 1; } else { len = k+1; // 最长和最短不一样: 长度是k+1 } } int[] nums = new int[len]; //存放可能性的值 for (int i = 0; i <len; i++) { if (i == 0) { nums[i] = min; //最小的可能就是k次都是最短的 } else { nums[i] = nums[i-1] + difference; //后面的每一次可能就是前面的加上两者差 } } return nums; }
}
结果
面试17.12 BiNode
题目
分析
代码
1 2
结果
面试10-I 斐波那契数列(递归/动态规划)
题目
分析
1. 递归:return fib(n-1)+fib(n-2)
2. 动态规划:就是abc三个数字不断后移
sum = (a + b) % 1000000007; //第三个数字
a = b; //原来的第二个是下一轮的第一个
b = sum; //原来的第三个是下一轮的第二个
public class FeiBo { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n=input.nextInt(); System.out.println("递归:"+fib(n)); System.out.println("动态规划:"+dongtai(n)); } //递归 public static int fib(int n) { if(n==0){ return 0; } if(n==1){ return 1; } return fib(n-1)+fib(n-2); } //动态规划 public static int dongtai(int n) { int a = 0, b = 1, sum; for(int i = 0; i < n; i++){ sum = (a + b) % 1000000007; a = b; b = sum; } return a; }
public class QingWa { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n=input.nextInt(); System.out.println(numWays(n)); System.out.println(numWayser(n)); }
public class ShuZhengCiFang { public static void main(String[] args) { Scanner input = new Scanner(System.in); Double x=input.nextDouble(); int n=input.nextInt(); System.out.printf("%.5f",cifang(x,n)); }