一、最大公约和和最小公倍数
#include<iostream.h>
int num;
int M(int m,int n)
{
int x;
x=(m*n)/num;
return x;
}
void N(int m,int n)
{
int x;
if(m<n)
{
N(n,m);
}
else
{
while(n!=0)
{
x=m%n;
m=n;
n=x;
}
num=m;
}
}
int main(int argc,char*argv[])
{
int m,n;
cout<<"输入两个数据 ";
cin>>m>>n;
N(m,n);
cout<<m<<"与"<<n<<"最大公约数是: ";
cout<<num<<endl;
cout<<m<<"与"<<n<<"最小公倍数是: ";
cout<<M(m,n)<<endl;
return 0;
}
二、数组素数排序
#include <iostream>
using namespace std;
void sort(int p[], int n);
bool prime(int x);
void print(int p[],int n);
int main( )
{ int a[10]={2,13,5,47,19,53,27,23,28,11};
int b[10],i,j=0;
for(i=0;i<10;i++)
{
if(prime(a[i])==true)
{
b[j]=a[i];
j++;
}
}
cout<<"排序前的b数组:";
print(b,j);
sort(b,j);
cout<<"排序后的b数组:";
print(b,j);
return 0;
}
bool prime(int x)
{
int i;
for(i=2;i<x;i++)
if(x%i==0)
{
return false;
}
return true;
}
void sort(int p[], int n)
{
int t,j,i;
for(j=0;j<n;j++)
for(i=0;i<n-j;i++)
{
if(p[i]>p[i+1])
{
t=p[i];
p[i]=p[i+1];
p[i+1]=t;
}
}
}
void print(int p[],int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<p[i]<<" ";
}
}