编号及代码:
/*
*Copyright(c)2015,烟台大学计算机与工程学院
*All rights reserved;
*文件名称:score.cpp
*作者:范星月
*完成日期:2015年3月24日
*版本号:v1.0
*
*问题描述:用一维数组保存最大公约数和最小公倍数
*问题输入:无
*问题输出:输出赋初值的最大公约数和最小公倍数
*/
#include <iostream>
using namespace std;
int gcd(int ,int );
int lcm(int ,int );
int main()
{
int a[8]= {26,1007,956,705,574,371,416,517};
int b[8]= {994,631,772,201,262,763,1000,781};
int c[8];
int d[8];
for(int i=0; i<8; i++)
{
c[i]=gcd(a[i],b[i]);
d[i]=lcm(a[i],b[i]);
}
for(int i=0; i<8; i++)
{
cout<<c[i]<<'\t';
cout<<d[i]<<'\t';
}
return 0;
}
int gcd(int x,int y)
{
int r,t;
if(x<y)
{
t=x;
x=y;
y=t;
}
while(r=x%y)
{
x=y;
y=r;
}
return y;
}
int lcm(int x,int y)
{
int n=gcd(x,y);
int m;
m=x*y/n;
return m;
}
学习总结:
换码符'\t'表示水平制表位,相当于按一下"Table"键,使光标以8个字符为基准跳跃
最大公约数与最小公倍数的乘积是原来的那两个数
注意使用过数组a[i]后,再要用到for(i=0)时要用for(int i=0)