Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- int gcd(int, int);
- int lcm(int, int);
- int menu()
- {
- int select;
- printf("**********************************\n");
- printf("* 1. 求兩數之最大公因數 *\n");
- printf("* 2. 求兩數之最小公倍數 *\n");
- printf("* 0. 結束程式 *\n");
- printf("**********************************\n");
- printf("請輸入選項: ");
- scanf_s("%d", &select);
- return select;
- }
- int main()
- {
- int select;
- int num1, num2,result;
- while (1)
- {
- select = menu();
- switch (select)
- {
- if (select == 0)
- {
- break;
- }
- case 1:
- printf("======求兩數之最大公因數========\n");
- printf("請輸入兩整數:");
- int gcd();
- scanf_s("%d %d", &num1, &num2);
- result = gcd(num1, num2);
- printf("(%d,%d)=%8d\n\n", num1, num2,result);
- break;
- case 2:
- printf("======求兩數之之最小公倍數========\n");
- printf("請輸入兩整數:");
- int lcm();
- scanf_s("%d %d", &num1, &num2);
- printf("[%d,%d]=%8d\n\n", num1, num2, lcm(num1, num2));
- break;
- default:
- printf("輸入錯誤,請重新輸入");
- break;
- }
- }
- system("pause");
- }
- int gcd(int num1,int num2)
- {
- int temp;
- while (num1%num2 != 0)
- {
- temp = num1%num2;
- num1 = num2;
- num2 = temp;
- }
- return num2;
- }
- int lcm(int num1,int num2)
- {
- return num1*num2 / gcd(num1, num2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement