c++中的一些数学运算持续 -补充中ing…
一、求最大公约数和最小公倍数
1.两数x,y,存在最大公约数和最小公倍数,则有x * y=最大公约数 * 最小公倍数;
解题代码:
//求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<<" ";
}
}
}