c++上机作业7 项目二 最大公约数 最小公倍数问题 特殊三位数问题 素数数组问题

/*项目2:最大公约和和最小公倍数

从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数,最大公约数采用的算法是辗转相除法
。其中编写自定义函数实现求最大公约数和最小公倍数
由于要返回两个结果,因为通过函数返回最小公倍数,通过引用返回最大公约数  
int fun(int m,int n,int &gcd) */
#include <iostream.h>
int fun(int m,int n)
{    

    int t=m%n;  
    while(t!=0)  
    {  
        m=n;  
        n=t;  
        t=m%n;  
    }  
    return n;
}
void main ()
{   int x,y,t,z;
    cout<<"从键盘中输入两个整数"<<endl;
	cin>>x>>y;
	t=fun(x,y);
	z=(x*y)/t;
	cout<<"最大公约数为:"<<t<<endl;
	cout<<"最小公倍数为:"<<z<<endl;
}
/*项目3:特殊三位数

请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。*/
#include <iostream.h>
int f(int n)
{    
	int a,b,c,j,m=1,x=1,y=1,z;
	
	a=n/100;
	b=b=(n-100*a)/10;
	c=n%10;
	for( j=1;j<=a;j++)
		
		m=m*j;
	
	
	
    
	for( j=1;j<=b;j++)
		
		x=x*j;
	
	
	for( j=1;j<=c;j++)
		
		y=y*j;
	
	
	
	   z=x+y+m;
	   return z;
}
void main()
{   int i,q;
for ( i=100;i<1000;i++)
{     q=f(i);  
if(q==i)  
cout<<i;    
}  
}
#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,25,28,11};    
    int b[10],m,j=0;    
    for(m=0;m<10;m++)    
    {    
        if(prime(a[m]))  
            b[j++]=a[m];   
    } cout<<"新的素数数组为";   
    print(b,j-1);       
    sort(b,j-1);  
    cout<<endl; 
	cout<<"新的排序后的素数数组为";
    print(b,j-1);    
        
    return 0;  
}  
void sort(int p[], int n)  
{  
    int i,k,t;  
    for(i=0;i<n-1;i++)    
{    
  for(k=0;k<n-i-1;k++)    
  {    
     if(p[j]>p[j+1])    
     {    
      t=p[j];    
      p[j]=p[j+1];    
      p[j+1]=t;    
     }    
  }    
}  
} bool prime(int x)
 { for(int i=1;i<=x;i++)
if(x%i==0)
 {
break; return 1;
else return 0;

void print(int p[],int n)  
{  
    for(int i=0;i<n;i++)  
        cout<<p[i]<<"  ";  
}  
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值