Contest2661 - 2021ACM俱乐部后备营个人训练赛第6场
问题 C: 找画笔
思路
以数组的形式读入,用sort快排,遍历数组,比较两个数是否相同,不同则输出,输出则循环。
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a[1000000];
cin>>n;
for(int i=0;i<n;++i)
cin>>a[i];
sort(a,a+n);
for(int i=0;i<n; )
{
if(a[i]==a[i+1])
i +=2;
else{
cout<<a[i];
break;
}
}
return 0;
}
问题 E: 打印图形Ⅴ
思路
找规律就行,我分成两半部分做的,比较复杂,有更简单的方法的话,dalao们教教我呗
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,j,n;
cin>>n;
for(j=1;j<2*n;++j)
{
if(j<=n)
{
for(i=1;i<=n-j;++i)
cout<<" ";
for(i=1;i<=j;++i)
cout<<(char)('A'+n-i);
for(i=1;i<=j-1;++i)
cout<<(char)('A'+n+i-j);
}
else
{
for(i=1;i<=j-n;++i)
cout<<" ";
for(i=1;i<=(2*n-j);++i)
cout<<(char)('A'+n-i);
for(i=1;i<=(2*n-j)-1;++i)
cout<<(char)('A'+n+i-(2*n-j));
}
cout<<endl;
}
return 0;
}
问题 F: 数列计算IV
思路
分别记录分子,分母,第二个分数的分子第是一个数的分母,第二个分数的分母是第一个数分子,分母的和
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a=1,b=2,temp=0;
cout<<a<<"/"<<b<<" ";
--n;
while(--n)
{
temp=a+b;
a=b;
b=temp;
cout<<a<<"/"<<b<<" ";
}
temp=a+b;
a=b;
b=temp;
cout<<a<<"/"<<b;
return 0;
}
问题 G: 完全平方数II
思路
简单判断,三位数拆分
代码
#include <bits/stdc++.h>
using namespace std;
bool square(int num) {
int m=floor(sqrt(num)+0.5);
if(m*m==num)
return true;
else
return false;
}
int main()
{
int m,n,i;
int ge,shi,bai;
int count=0;
cin>>m>>n;
for(i=m;i<=n;++i)
{
ge = i%10;
shi = (i/10)%10;
bai = i/100;
if(square(i))
{
if((ge==shi) || (shi==bai) || (ge==bai))
{ ++count;
cout<<i<<endl;
}
}
}
cout<<count;
return 0;
}