1.求最大公约数和最小公倍数:
#include<iostream>
#include <cmath>
using namespace std;
int zdgys(int a,int b){
int maxi;
if(a>=b){
maxi=b;
}else{
maxi=a;
}
int l;
for(int i=1;i<=maxi;i++){
if(a%i==0&&b%i==0){
l=i;
}
}
return l;
}
int zxgbs(int a,int b){
int big,small;
if(a>=b){
big=a;
small=b;
}else{
big=b;
small=a;
}
int i=1;
int l;
while(1){
l=big*i;
if(l%small==0){
return l;
}
i++;
}
}
int main() {
int n,m;
cin>>n>>m;
cout<<zdgys(n,m)<<" "<<zxgbs(n,m);
}
2.求互质总数:
#include<iostream>
#include <cmath>
using namespace std;
bool hz(int a, int b) {
int maxi;
if (a >= b) {
maxi = b;
} else {
maxi = a;
}
int l;
for (int i = 1; i <= maxi; i++) {
if (a % i == 0 && b % i == 0) {
l = i;
}
}
if (l == 1) {
return 1;
} else
return 0;
}
int main() {
int n,sum=0;
cin>>n;
for(int i=2;i<n;i++){
if(hz(i,n)){
sum++;
}
}
cout<<sum;
}
3.分数化简:
#include<iostream>
#include <cmath>
using namespace std;
int zdgys(int a, int b) {
int maxi;
if (a >= b) {
maxi = b;
} else {
maxi = a;
}
int l;
for (int i = 1; i <= maxi; i++) {
if (a % i == 0 && b % i == 0) {
l = i;
}
}
return l;
}
int main() {
int n, m,l;
scanf("%i/%i",&n,&m);
l=zdgys(n,m);
cout<<n/l<<"/"<<m/l;
}
4.求最大值函数的应用:#include<iostream>
#include <cmath>
using namespace std;
int max(int a,int b,int c){
if(a>=b&&a>=c){
return a;
}else if(b>=a&&b>=c){
return b;
}else{
return c;
}
}
int main() {
int a,b,c;
cin>>a>>b>>c;
cout<<max(a,b,c)/max(a+b,b,c)/max(a,b,b+c);
}