C++第七次作业

来源:互联网 发布:淘宝内容推广 编辑:程序博客网 时间:2024/05/07 20:53

一、项目2:最大公约和和最小公倍数

从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数,最大公约数采用的算法是辗转相除法(具体算法可用百度)。其中编写自定义函数实现求最大公约数和最小公倍数

#include<iostream.h>int bei;                                                       //定义全局变量:最小公倍数int fun(int m,int n,int a)                                     //计算函数{int y;y=m%n;while(y)                                                   //碾转相除法求最大公约数{m=n;n=y;y=m%n;}bei=a/n;                                                   //最小公倍数=两数之积/最大公约数return n;                                                  //返回最大公约数}void main(){int m,n,yue;cout<<"请输入两个整数:";cin>>m>>n;yue=fun(m,n,m*n);                                          //取最大公约数cout<<"最大公约数是"<<yue<<",最小公倍数是"<<bei<<endl;}
二、项目3:特殊三位数

请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。

#include<iostream.h>int jiecheng(int n)                                     //阶乘函数{int i,m=1;for(i=n;i>0;i--)                                    //循环阶乘m*=i;return m;                                           //返回阶乘值}void main(){int i,a,b,c;cout<<"该特殊三位数有:";for(i=100;i<1000;i++){a=(i/10)/10;                                    //百、十、个位分离b=(i/10)%10;c=i%10;if(jiecheng(a)+jiecheng(b)+jiecheng(c)==i)      //判断是否相等并输出cout<<i<<'\t';}cout<<endl;}



0 0
原创粉丝点击