:::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;}}
