1,求最大公约数和最小公倍数
#include<iostream.h>
int b; //最小公倍数
int fun(int m,int n,int x) //计算函数
{
int k;
k=m%n;
while(k) //求最大公约数
{
m=n;
n=k;
k=m%n;
}
b=x/n; //最小公倍数=两数之积/最大公约数
return n; //返回最大公约数
}
void main()
{
int m,n,y;
cout<<"请输入两个整数:";
cin>>m>>n;
y=fun(m,n,m*n); //取最大公约数
cout<<"最大公约数是"<<y<<",最小公倍数是"<<b<<endl;
}
2,数组素数排序
#include<iostream>
using namespace std;
int f(int x)
{
int i,a=0;
for(i=2;i<x;i++)
{if(x%i==0) break;}
if(i==x) {a=1; return a;}
}
void y(int p[], int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[1+j]=temp;
}
}
int main()
{
int a[10]={2,13,5,47,19,53,27,23,28,11},b[10],k,q=0,i,g;
for(k=0;k<10;k++)
{
if(f(a[k])==1)
{
b[q]=a[k];
q++;
}
}
for(i=0;i<q;i++)
cout<<b[i]<<" ";
cout<<endl<<"b数列为:";
y(b,q);
for(i=0;i<q;i++)
cout<<b[i]<<" ";
}