875 21编程题
作者:
阿飞大魔王
,
2024-10-21 22:08:39
,
所有人可见
,
阅读 5
一、马鞍点
#include<bits/stdc++.h>
using namespace std;
const int N = 15;
int n,m,g[N][N];
bool is_saddle_dot(int x,int y)
{
for(int i=1;i<=m;i++)
if(g[x][i]>g[x][y])
return false;
for(int i=1;i<=n;i++)
if(g[i][y]<g[x][y])
return false;
return true;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>g[i][j];
bool flag=false;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(is_saddle_dot(i,j))
{
printf("%d %d %d\n",i,j,g[i][j]);
flag=true;
}
if(!flag)cout<<"No"<<endl;
return 0;
}
二、完美数
#include<bits/stdc++.h>
using namespace std;
bool is_perfect(int n)
{
int res=0;
for(int i=1;i<n;i++)
{
if(n%i==0)
res+=i;
}
return res==n;
}
bool is_prime(int x)
{
if(x<2)
return false;
for(int i=2;i<x;i++)
if(x%i==0)
return false;
return true;
}
int main()
{
int n;
cin>>n;
if(is_perfect(n))
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
for(int i=1;i<=1000;i++)
{
if(is_prime(i))
{
int res=pow(2,i-1)*(pow(2,i)-1);
if(res>10000)break;
cout<<res<<endl;
}
}
return 0;
}
三、机器人复制
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
int f[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=3;i++)
f[i]=i;
for(int i=4;i<=n;i++)
f[i]=f[i-1]+f[i-3];
cout<<f[n];
return 0;
}