函数实验答疑

来源:互联网 发布:淘宝手机端图片分辨率 编辑:程序博客网 时间:2024/06/03 12:28

函数实验答疑

题目:


代码:

#include"iostream"using namespace std;//编程求输入的三个数中最大值。(用函数调用来实现)double max3(){double a,b,c;cin>>a>>b>>c;double max=a;if(b>a){max=b;}if(c>a){max=c;}return max;}//编写一个求x的n次方的函数。x,n由键盘输入。(用函数调用来实现)double xn(){double x,n,result=1;cin>>x>>n;for(int i=0;i<n;i++){result=result*x;}return result;} //求 1 到 15 的阶乘和。//分成两个函数,一个函数求阶乘,一个求和。int jiecheng(int n){int result=1;for(int i=1;i<=n;i++){result=result*i;}return result;}int jiechenghe(int n){int result=0;for(int i=1;i<=n;i++){result=result+jiecheng(i);}return result;}//递归求 n 阶 勒让德多项式 double Pn(int n,int x){if(n==0){return 1;}else if(n==1){return x;}else{return (double)((2*n-1)*x-Pn(n-1,x)-(n-1)*Pn(n-2,x))/n;}}//求 m,n 的最小公倍数。int gongbei(int m,int n){int max=m>n?m:n;for(int i=max;i<=m*n;i++){if(i%m==0&&i%n==0){return i;}}}//求 m,n 的最小公约数 int gongyue(int m,int n){int result=1;int min=m<n?m:n;for(int i=min;i>0;i++){if(m%i==0&&n%i==0){return i;}}}//编程输出 1000 以内所有亲密数对,并输出所有完数之和。//先写 1000 以内完数的判断,再写求和和。//求完数要先求因子和,所以先写因子和函数。int yinzihe(int n){int sum=0;for(int i=1;i<n;i++){if(n%i==0){sum=sum+i;}}return sum;} bool wanshu(int n){if(n==yinzihe(n)){return true;}else{return false;}}int wanshuhe1000(){int sum=0;for(int i=1;i<=1000;i++){if(wanshu(i)==true){sum=sum+i;}}cout<<"1000 以内的完数和为:"<<sum<<endl; return sum;}//亲密数对void qinmi1000(){for(int i=1;i<=1000;i++){int j=yinzihe(i);if(yinzihe(j)==i){cout<<i<<" 和 "<<j<<" 是亲密数对" <<endl;}}}int main(){qinmi1000();}

0 0
原创粉丝点击