804. n的阶乘
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int f(int n)
{
if(n==1) return 1;
return n*f(n-1);
}
int main(void)
{
int n; cin>>n;
cout<<f(n)<<endl;
return 0;
}
805. x和y的最大值
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int f(int a,int b)
{
return a>b?a:b;
}
int main(void)
{
int a,b; cin>>a>>b;
cout<<f(a,b);
return 0;
}
806. 两个数的和
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
double f(double a,double b)
{
return a+b;
}
int main(void)
{
double a,b; cin>>a>>b;
printf("%.2lf\n",f(a,b));
return 0;
}
807. 区间求和
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int f(int a,int b)
{
int sum=0;
for(int i=a;i<=b;i++) sum+=i;
return sum;
}
int main(void)
{
int a,b; cin>>a>>b;
cout<<f(a,b)<<endl;
return 0;
}
808. 最大公约数
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main(void)
{
int a,b; cin>>a>>b;
cout<<gcd(a,b)<<endl;
return 0;
}
809. 最小公倍数
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int f(int a,int b)
{
return a*b/gcd(a,b);
}
int main(void)
{
int a,b; cin>>a>>b;
cout<<f(a,b)<<endl;
return 0;
}
810. 绝对值
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int f(int a)
{
return a>0?a:-a;
}
int main(void)
{
int a; cin>>a;
cout<<f(a)<<endl;
return 0;
}
811. 交换数值
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
void f(int& a,int& b)
{
int temp=a;
a=b;
b=temp;
}
int main(void)
{
int a,b; cin>>a>>b;
f(a,b);
cout<<a<<" "<<b;
}
812. 打印数字
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int a[1005];
void f(int k)
{
for(int i=0;i<k;i++) cout<<a[i]<<" ";
}
int main(void)
{
int n,k; cin>>n>>k;
for(int i=0;i<n;i++) cin>>a[i];
f(k);
return 0;
}
813. 打印矩阵
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int a[105][105];
int main(void)
{
int n,m; cin>>n>>m;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++) cin>>a[i][j],cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
814. 复制数组
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int a[105],b[105];
int main(void)
{
int n,m,k; cin>>n>>m>>k;
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<m;i++) cin>>b[i];
for(int i=0;i<m;i++)
if(i<k) cout<<a[i]<<" ";
else cout<<b[i]<<" ";
}
815. 打印字符串
题目地址
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int main(void)
{
string s;
getline(cin,s);
cout<<s<<endl;
}
816. 数组翻转
题目地址
#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(void)
{
int n,k; cin>>n>>k;
vector<int> ve;
for(int i=0;i<n;i++)
{
int x; cin>>x;
ve.push_back(x);
}
reverse(ve.begin(),ve.begin()+k);
for(auto t:ve) cout<<t<<" ";
}
817. 数组去重
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int hush[1005];
int n,x,ans;
int main(void)
{
cin>>n;
for(int i=0;i<n;i++) cin>>x,hush[x]?0:(hush[x]++,ans++);
cout<<ans<<endl;
return 0;
}
818. 数组排序
题目地址
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,l,r;
int a[1005];
int main(void)
{
cin>>n>>l>>r;
for(int i=0;i<n;i++) cin>>a[i];
sort(a+l,a+r+1);
for(int i=0;i<n;i++) cout<<a[i]<<" ";
return 0;
}
819. 递归求阶乘
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int f(int n)
{
return n==1?1:n*f(n-1);
}
int main(void)
{
int n; cin>>n;
cout<<f(n);
}
820. 递归求斐波那契数列
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int f(int n)
{
return (n==1||n==2)?1:f(n-1)+f(n-2);
}
int main(void)
{
int n; cin>>n;
cout<<f(n)<<endl;
return 0;
}
821. 跳台阶
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int n;
int f(int n)
{
return (n==1||n==2)?1:f(n-1)+f(n-2);
}
int main(void)
{
cin>>n;
cout<<f(n+1)<<endl;
return 0;
}
822. 走方格
题目地址
#include<cstdio>
#include<iostream>
using namespace std;
int a[15][15];
int main(void)
{
int n,m; cin>>n>>m;
a[0][0]=1;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=m;j++)
{
if(i-1>=0) a[i][j]+=a[i-1][j];
if(j-1>=0) a[i][j]+=a[i][j-1];
}
}
cout<<a[n][m]<<endl;
return 0;
}
823. 排列
题目地址
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[20];
int main(void)
{
int n; cin>>n;
for(int i=0;i<n;i++) a[i]=i+1;
do
{
for(int i=0;i<n;i++) cout<<a[i]<<" ";
cout<<endl;
}while(next_permutation(a,a+n));
return 0;
}