求两个整数最大公约数的欧几里德算法和求幂运算程序
2014-12-27 21:21
344 查看
求两个数最大公约数的欧几里德算法:
/*
*Author: gyh
*Date: 201412227
*Version: 1.0
*/
#include<stdio.h>
int gcd(int a, int b);
int main(void){
int a, b;
printf("Entry two numbers: ");
scanf("%d%d", &a, &b);
printf(" %d and %d's gcd is %d\n", a, b, gcd(a, b));
return 0;
}
int gcd(int a, int b){
int temp;
while( b != 0){
temp = a % b;
a = b;
b = temp;
}
return a;
}
求一个整数的正整数次幂运算:
/*
*Author: gyh
*Date: 20141227
*Version: 1.0
*/
#include<stdio.h>
long pow_(long x, unsigned int n);
int main(void){
long x;
unsigned int n;
printf("Entry the base number and exponent: ");
scanf("%ld%d", &x, &n);
printf("%ld pow %d is %ld\n", x, n, pow_(x, n));
return 0;
}
long pow_(long x, unsigned int n){
if(n == 0){
return 1;
}
if(n == 1){
return x;
}
if(n % 2 != 0){
return pow_(x * x, n/2) * x;
}else{
return pow_(x * x, n/2);
}
}
/*
*Author: gyh
*Date: 201412227
*Version: 1.0
*/
#include<stdio.h>
int gcd(int a, int b);
int main(void){
int a, b;
printf("Entry two numbers: ");
scanf("%d%d", &a, &b);
printf(" %d and %d's gcd is %d\n", a, b, gcd(a, b));
return 0;
}
int gcd(int a, int b){
int temp;
while( b != 0){
temp = a % b;
a = b;
b = temp;
}
return a;
}
求一个整数的正整数次幂运算:
/*
*Author: gyh
*Date: 20141227
*Version: 1.0
*/
#include<stdio.h>
long pow_(long x, unsigned int n);
int main(void){
long x;
unsigned int n;
printf("Entry the base number and exponent: ");
scanf("%ld%d", &x, &n);
printf("%ld pow %d is %ld\n", x, n, pow_(x, n));
return 0;
}
long pow_(long x, unsigned int n){
if(n == 0){
return 1;
}
if(n == 1){
return x;
}
if(n % 2 != 0){
return pow_(x * x, n/2) * x;
}else{
return pow_(x * x, n/2);
}
}
相关文章推荐
- 陈楚东-第一周计算“两个整数的最大公约数”程序和《算法概论》思维导图
- 编写计算“两个整数的最大公约数”程序
- 计算“两个整数的最大公约数”程序
- 编写计算“两个整数的最大公约数”程序
- 编程求取两个整数的最大公约数.欧几里德算法
- 编写计算“两个整数的最大公约数”程序。 要求通过键盘输入两个整数、检查输入整数是否符合要求,并计算出其最大公约数。
- 作业:C++ 编写计算“两个整数的最大公约数”程序。
- JAVA 输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。
- 第一周作业:编写计算“两个整数的最大公约数”程序
- 第一周作业——编写计算“两个整数的最大公约数”程序
- 作业3a. 编写计算“两个整数的最大公约数”程序
- 编写计算“两个整数的最大公约数”程序
- 求两个整数的最大公约数的程序
- 请用Java或C编写一个程序,找出两个整数的最大公约数,公因数
- 第一周作业1——编写计算“两个整数的最大公约数”程序
- 3a、编写计算“两个整数的最大公约数”程序
- 第一次作业:计算“两个整数的最大公约数”程序
- 欧几里德算法(辗转相除法):求两个整数最大公约数
- 编写计算“两个整数的最大公约数”程序
- 编写计算“两个整数的最大公约数”程序