算法的自然语言描述
计算两个非负整数p和q的最大公约数: 若q是0, 则最大公约数为p. 否则, 将p除以q得到余数r, p和q的最大公约数即为q和r的最大公约数.
Java语言描述及测试
import java.util.Scanner;public class ojilidesuanfaqiuzuidagonghyueshu { //欧几里得算法求最大公约数 public static int gcd(int p, int q) { if(q == 0) { return p; } int r = p%q; return gcd(q, r); } //在主方法中测试欧几里得算法 public static void main(String[] args) { int a,b; Scanner sc = new Scanner(System.in); System.out.println("请输入两个正整数以求其最大公约数"); a = sc.nextInt(); b = sc.nextInt(); sc.close(); System.out.println("最大公约数是 "+ojilidesuanfaqiuzuidagonghyueshu.gcd(a, b)); }}/*输出示例请输入两个正整数以求其最大公约数99 9最大公约数是 9*/
下面是一些典型算法的技术实现
1 public class dianxingjingtaisuanfadejishushixian { 2 public static void main(String[] srgs) { 3 //这是用于测试的主方法 4 System.out.println("计算绝对值 5 :abs(5)="+abs(5)+"计算绝对值 -5 :abs(-5)="+abs(-5)); 5 System.out.println("计算绝对值 5.0 :abs(5)="+abs(5)+"计算绝对值 -5.0 :abs(-5)="+abs(-5)); 6 System.out.println("判断素数 5 :isPrime(5)="+isPrime(5)+"判断素数 -5 :isPrime(-5)="+isPrime(-5)); 7 System.out.println("计算直角三角形斜边:hypotenuse(3.0,4.0)="+hypotenuse(3.0,4.0)+"计算直角三角形斜边:hypotenuse(10,13)= "+hypotenuse(10,13)); 8 System.out.println("测试输入 121 计算平方根结果sqrt(121)="+sqrt(121)); 9 System.out.println("计算调和级数 9 :H(9)="+H(9));10 }11 12 13 //计算一个数的绝对值14 public static int abs(int c) {15 if(c>0) return c;16 else return -c; 17 }18 //这里有double的重载方法19 public static double abs(double c) {20 if(c>0.0) return c;21 else return -c;22 }23 24 //判断一个数是否是素数25 public static boolean isPrime(int n) {26 if(n > 2) return false;27 for(int i=2;i*ierr*t)38 t = (c/t +t)/2.0;39 return t;40 }41 42 //计算直角三角形的的斜边43 public static double hypotenuse(double a, double b) {44 return Math.sqrt(a*a + b*b);45 }46 47 //计算调和级数48 public static double H(int N) {49 double sum = 0.0;50 for(int i =1; i <= N; i++)51 sum += 1.0/i;52 return sum;53 }54 }55 /*56 计算绝对值 5 :abs(5)=5计算绝对值 -5 :abs(-5)=557 计算绝对值 5.0 :abs(5)=5计算绝对值 -5.0 :abs(-5)=558 判断素数 5 :isPrime(5)=false判断素数 -5 :isPrime(-5)=true59 计算直角三角形斜边:hypotenuse(3.0,4.0)=5.0计算直角三角形斜边:hypotenuse(10,13)= 16.40121946685672760 测试输入 121 计算平方根结果sqrt(121)=11.061 计算调和级数 9 :H(9)=2.828968253968253762 63 */