求几个数的最大公约数及最小公倍数

源代码在线查看: gcd.cpp

软件大小: 3 K
上传用户: ZOUTING
关键词:
下载地址: 免注册下载 普通下载 VIP

相关代码

				#include 
				#include 
				typedef long int NUM;
				static NUM out1=1;
				static NUM out2=1;
				NUM lcm(NUM k);           //求最小公倍数;
				NUM gcd(NUM k);           //求最大公约数;
				void main()
				{
					NUM input=1,n=0;
					cout					cout					while(input!=0)                   //验证输入数据是否有效
					{
						while (!(cin>>input))
						{
							cout							cin.clear();
							char buffer[1024];
							cin.getline(buffer,1024);
						}
						n++;
						out1=lcm(input);               //每接收到一个数字就调用函数开始计算
						if(n==1)
							out2=input;                //为求最大公约数需用第一个值初始化out2;
						out2=gcd(input);
					}
					cout					cout				}
				
				NUM lcm(NUM k)
				{
				    NUM i;
					for(i=out1;i						if(i%out1==0&&i%k==0)          //找到第一个既能被out1整除又能被k整除的最小整数;
						{
							out1=i;
							break;
						}
						return out1;
				}
				
				NUM gcd(NUM k)
				{
					NUM i;         
					for(i=out2;i>=1;i--)              //找到第一个既能整除out2又能整除k的最大整数;
						if(out2%i==0&&k%i==0)
						{
							out2=i;
							return out2;
						}
						return out2;		
				}			

相关资源