基於c++的數學運算

計科三班李同學發表於2020-10-15

c++中的一些數學運算持續 -補充中ing…

一、求最大公約數和最小公倍數

1.兩數x,y,存在最大公約數和最小公倍數,則有xy=最大公約數最小公倍數;
解題程式碼:

//求a與b的最小公倍數和最大公因數 
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a;   
	int b;
	cin>>a;
	cin>>b;
	int t,p;
	p=a*b;
	if(a<b){         //比較a與b的大小; 
		int temp=a;
		a=b;
		b=temp;
		
	}
	while(b){      //用迴圈取餘求最大公倍數 
		t=a%b;
		a=b;
		b=t;
	}
	cout<<"最大公約數是:"<<a<<endl;
	cout<<"最小公倍數是:"<<p/a<<endl; 
} 

2.求解1-n中的質數。

#include<bits/stdc++.h>
using namespace std;
bool checka(int x){ //判斷數x是否為質數 
	int i;
	
	for(i=2;i*i<=x;i++){
		if(x%i==0){
			return false;
		}
	}
	return true;
}
int main(){
	int n;
	cin>>n;
	int j;
	
	for(j=2;j<=n;j++){
		if(checka(j)){  //如果為質數則列印 
			cout<<j<<" ";
		}
		
	}
	
}

相關文章