C語言第七篇:輾轉相除法求最大公約數
一、演算法的基本概念
1、什麼是演算法?
為解決問題而採取的方法和步驟。
演算法是由一系列規則組成的過程,這些規則確定了一個操作的順序,以便能在有限步驟內得到特定問題的解。
2、演算法重要嗎?
“程式=演算法+資料結構”——N.Wirth
3、演算法的描述工具
- (1)自然語言
- (2)流程圖:程式流程圖,N-S圖
- (3)虛擬碼
二、最大公約數——輾轉相除法
演算法:
原始碼:
/*
*Copyright (c)2016,劉兵馬俑
*All rights reserved.
*檔名稱:main.c
*作 者:劉兵馬俑
*完成日期:2016/03/24
*版 本 號:v1.0
*問題描述:輾轉相除法求兩個非負整數的最大公約數
*程式輸出:最大公約數
*/
#include <stdio.h>
int main()
{
int a,b,r;
printf("請輸入兩個正整數:\n");
scanf("%d %d",&a,&b);
//如果a<b,交換a和b的值
if(a<b)
{
r=a;
a=b;
b=r;
}
//輾轉相除法,因為r的初始值不為0,所以while語句至少會執行一次
//直至餘數為零,跳出迴圈
while(r!=0)
{
r=a%b;
a=b;
b=r;
}
//輸出最大公約數
printf("最大公約數為:%d\n",a);
return 0;
}
執行結果
相關文章
- python用輾轉相除法求最大公約數Python
- 輾轉相除法求最大公約數——[js練習]JS
- 【C語言】聊聊輾轉相除法C語言
- 歐幾里德演算法(又稱輾轉相除法)求最大公約數,以及最小公倍數演算法
- 求最大公約數不同演算法的時間比較(輾轉相除法,更相減損術等)演算法
- C語言 用更相減損術求最大公約數,最小公倍數C語言
- C++中的輾轉相除法C++
- 輾轉相除法原理
- 輾轉相除法的原理
- c語言遞迴函式實現求最大公約數(Euclid演算法)C語言遞迴函式演算法
- 透徹理解輾轉相除法
- 輾轉相除法 氣泡排序排序
- 輾轉相除法原理解析
- C. 最大公約數
- 【shell 指令碼】求最大公約數指令碼
- python語言程式設計——求最大公約數和最小公倍數演算法Python程式設計演算法
- 求最大公公約數(最大公因數)—— 歐幾里得演算法演算法
- java演算法 求最大公約數Java演算法
- 【演算法分析與設計】輾轉相除法演算法
- 輾轉相除法(歐幾里得演算法)(gcd)模板及其原理演算法GC
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- C++:最小公倍數與最大公約數C++
- C語言萌新上手:相鄰數對C語言
- 尋找最大公因數(歐幾里得演算法)--C語言描述演算法C語言
- 漫畫演算法:輾轉相除法是什麼鬼?演算法
- 最大公約數GCDGC
- C++等差數列(數論、歐幾里得輾轉相除gcd)C++GC
- 6-8 使用函式求最大公約數 (10分)函式
- C語言基礎 求出兩個數的公約數C語言
- c語言字串,數字轉換C語言字串
- linux C(hello world)最大公約數和最小公倍數Linux
- 【c語言】求兩個數中不同的位的個數C語言
- 【c語言】求絕對值C語言
- 演算法設計與分析:求兩個自然數的最大公約數演算法
- 求一個數的最大公約數的三種思路——解題筆記筆記
- C語言求200000以內的自守數C語言
- 最大公約數和最小公倍數
- (C語言) int型之間除法運算,向零取整C語言