脚本宝典收集整理的这篇文章主要介绍了C语言 递归求解最大公约数,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本关任务:设计函数RecurMaxCommonFactor(),实现递归求解两个正整数的最大公约数。
最大公约数可用如下三个性质实现: 性质1 如果a>b,则a和b的最大公约数与a-b和b的最大公约数相同; 性质2 如果a<b,则a和b的最大公约数与a和b-a的最大公约数形同; 性质3 如果a=b,则a和b的最大公约数与a值或b值相同。
根据提示,在右侧编辑器补充递归函数RecurMaxCommonFactor(),在main函数中输入两个正整数,调用所写的函数计算出最大公约数并输出。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int MaxCommonFactor(int a, int b); 4 5 int main() 6 { 7 /****************Begin*************/ 8 int a,b; 9 printf("Input two positive integers,a,b:n"); 10 scanf("%d,%d",&a,&b); 11 if(a<0 ||b<0){ 12 printf("Input error!"); 13 }else{ 14 printf("MaxCommonFactor = %d",MaxCommonFactor(a,b)); 15 } 16 17 return 0; 18 /****************End***************/ 19 20 } 21 22 //º¯Êý¹¦ÄÜ£º ¼ÆËãÁ½¸öÕýÕûÊýµÄ×î´ó¹«Ô¼Êý£¬-1±íʾûÓÐ×î´ó¹«Ô¼Êý 23 //ÒªÇóʹÓõݹéʵÏÖ 24 int MaxCommonFactor(int a, int b) 25 { 26 /****************Begin*************/ 27 if(a>b) 28 return MaxCommonFactor(a-b,b); 29 else if(a<b) 30 return MaxCommonFactor(b-a,a); 31 else if(a==b) 32 return a; 33 /****************End***************/ 34 }
以上是脚本宝典为你收集整理的C语言 递归求解最大公约数全部内容,希望文章能够帮你解决C语言 递归求解最大公约数所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。