:::info 算法分析与设计两门课程的学习笔记 :::
形式化定义
对于一个问题,将其进行科学的分析研究,就需要对其进行更加严谨的形式化定义,其形式就类似于数学建模过程中的构建出数学模型一样,对其进行问题的抽象化提取,以及合理的公式化,就比如“0-1背包”问题中:
判定性问题
类似于数学建模当中模型的求解,在给定模型以及约束条件的情况下求出符合该约束条件下的模型解:
例子:Euclid-GCD问题
问题描述
将每个整数分解为素因子的积,找出公共的素因子,它们的积即是GCD
问题思路
代码实现
package com.wztlink1013.al.EuclidGCD;
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
System.out.println("请输入两个大于零的自然数:");
int a = input.nextInt();
int b = input.nextInt();
GCD(a,b);
System.out.println(a + "和" + b + "两个数的GCD值为:" + GCD(a,b));
}
public static int GCD(int i, int j){
int r;
while (j != 0){
r = i%j;
i = j;
j = r;
System.out.println("a="+i+";b="+j+";r="+r);
}
return i;
}
}