[GESP202409 二级] 数位之和
题目描述
小杨有 nn 个正整数,他认为一个正整数是美丽数字当且仅当该正整数每一位数字的总和是 77 的倍数。
小杨想请你编写一个程序判断 nn 个正整数哪些是美丽数字。
输入格式
第一行包含一个正整数 nn,表示正整数个数。
之后 nn 行,每行一个包含一个正整数 a_iai。
输出格式
对于每个正整数输出一行一个字符串,如果是美丽数字则输出 Yes
,否则输出 No
。
输入数据 1
3
7
52
103
Copy
输出数据 1
Yes
Yes
No
Copy
提示
数据规模与约定
对全部的测试数据,保证 1 \leq n \leq 10^51≤n≤105,1 \leq a_i \leq 10^51≤ai≤105。
#include<bits/stdc++.h>
using namespace std;
long long n,k=0;
string a;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a;
for(int j=0;j<a.size();j++)
{
k=k+(a[j]-'0');
}
if(k%7==0)
{
cout<<"Yes"<<endl;
}
else cout<<"No"<<endl;
k=0;
}
return 0;
}
[GESP202409 二级] 小杨的 N 字矩阵
题目描述
小杨想要构造一个 m \times mm×m 的 NN 字矩阵(mm 为奇数),这个矩阵的从左上角到右下角的对角线、第 11 列和第 mm 列都是半角加号 +
,其余都是半角减号 -
。例如,一个 5 \times 55×5 的 N 字矩阵如下:
+---+
++--+
+-+-+
+--++
+---+
Copy
请你帮小杨根据给定的 mm 打印出对应的 N 字矩阵。
输入格式
输入只有一行包含一个正整数 mm。
输出格式
输出对应的 NN 字矩阵。
输入数据 1
5
Copy
输出数据 1
+---+
++--+
+-+-+
+--++
+---+
Copy
提示
数据规模与约定
对全部的测试数据,保证 3 \leq m \leq 493≤m≤49 且 mm 是奇数。
#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
if(i==1||i==n)
{
cout<<"+";
for(int j=1;j<=n-2;j++)
{
cout<<"-";
}
cout<<"+"<<endl;
}
else if(i==n/2+1)
{
cout<<"+";
for(int j=2;j<=n-1;j++)
{
if(j==n/2+1)cout<<"+";
else cout<<"-";
}
cout<<"+"<<endl;
}
else if(i>1&&i<n&&i!=n/2+1)
{
cout<<"+";
for(int j=2;j<=n-1;j++)
{
if(j==i)
{
cout<<"+";
}
else cout<<"-";
}
cout<<"+"<<endl;
}
}
return 0;
}
[GESP202409 三级] 平衡序列
题目描述
小杨有一个包含 nn 个正整数的序列 aa。他认为一个序列是平衡的当且仅当存在一个正整数 ii(1 \leq i < n1≤i<n)使得序列第 11 到第 ii 个 数字的总和等于第 i + 1i+1 到第 nn 个数字的总和。
小杨想请你判断序列 aa 是否是平衡的。
输入格式
本题单个测试点内包含多组测试数据。第一行是一个正整数 tt,表示测试用例组数。
接下来是 tt 组测试用例。对每组测试用例,一共两行。
第一行包含一个正整数 nn,表示序列长度。 第二行包含 nn 个正整数,代表序列 aa。
输出格式
对每组测试用例输出一行一个字符串。如果 aa 是平衡的,输出 \texttt{Yes}Yes,否则输出 \texttt{No}No。
输入数据 1
3
3
1 2 3
4
2 3 1 4
5
1 2 3 4 5
Copy
输出数据 1
Yes
Yes
No
Copy
提示
样例 1 解释
- 对第一组测试用例,令 i = 2i=2,有 1 + 2 = 31+2=3,因此序列是平衡的。
- 对第二组测试用例,令 i = 2i=2,哟 2 + 3 = 1 + 42+3=1+4,因此序列是平衡的。
- 对第三组测试用例,不存在满足要求的 ii。
数据规模与约定
对全部的测试数据,保证 1 \leq t \leq 1001≤t≤100,1 \leq n, a_i \leq 100001≤n,ai≤10000。
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[10005],k1=0,l=0,t=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>m;
for(int j=1;j<=m;j++)
{
cin>>a[j];
k1+=a[j];
}
for(int j=1;j<=m;j++)
{
l=l+a[j];
if(l==k1-l)
{
cout<<"Yes"<<endl;
t=1;
break;
}
}
if(t==0)cout<<"No"<<endl;
t=0;
k1=0;
l=0;
}
return 0;
}
[202406GESP 模拟 二级] 周长与面积计算
题目描述
小洛有 nn 个正方形,第 11 个正方形的边长为 11,第 22 个正方形的边长为 22,以此类推,第 nn 个正方形的边长为 nn。它们被紧密地排列成一行。小洛想要知道这个图案的周长和面积分别是多少。
例如当 n=5n=5 时的图案如下图所示。红色的边框代表整个图案的周长,绿色区域代表整个图案的面积:
输入格式
输入一个正整数 nn。
输出格式
输出两行。
第一行一个正整数代表图案的周长;
第二行一个正整数代表图案的面积;
输入数据 1
5
Copy
输出数据 1
40
55
Copy
输入数据 2
9
Copy
输出数据 2
108
285
Copy
提示
对于 70\%70% 的数据,1 \leq n \leq 1001≤n≤100;
对于所有数据,1 \leq n \leq 1000001≤n≤100000。
#include<bits/stdc++.h>
using namespace std;
long long n,m=0,k=0,l;
int main(){
cin>>n;
cout<<((n+1)*n/2+n)*2<<endl;
l=n;
while(l>0)
{
k+=l*l;
l--;
}
cout<<k;
return 0;
}
[202406GESP 模拟 二级] 小洛的田字矩阵
题目描述
小洛想要构造一个 N\times NN×N 的田字矩阵(NN 为奇数)。具体来说:
- 这个矩阵共有 NN 行,每行 NN 个字符,其中最左列、最右列都是
|
; - 第一行、最后一行的第 2\sim N-12∼N−1 个字符都是
-
; - 中间一行(即第 \frac{N+1}{2}2N+1 行)的第 2\sim \frac{N-1}{2}2∼2N−1,\frac{N+3}{2}\sim N-12N+3∼N−1 个字符都是
-
; - 中间一列(即第 \frac{N+1}{2}2N+1 列)的第 2\sim \frac{N-1}{2}2∼2N−1,\frac{N+3}{2}\sim N-12N+3∼N−1 个字符都是
|
。 - 其余所有字符都是半角小写字母
x
。
例如,一个 N = 5N=5 田字矩阵如下:
|---|
|x|x|
|-x-|
|x|x|
|---|
Copy
请你帮小洛根据给定的 NN 打印出对应的“田字矩阵”。
输入格式
一行一个整数 NN(5\leq N \leq 495≤N≤49,保证 NN 为奇数)。
输出格式
输出对应的“田字矩阵”。
请严格按格式要求输出,不要擅自添加任何空格、标点、空格等任何符号。你应该恰好输出 NN 行,每行除了换行符外恰好包含 NN 个字符,这些字符要么是 -
,要么是 |
,要么是 x
。你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查。
输入数据 1
5
Copy
输出数据 1
|---|
|x|x|
|-x-|
|x|x|
|---|
Copy
输入数据 2
7
Copy
输出数据 2
|-----|
|xx|xx|
|xx|xx|
|--x--|
|xx|xx|
|xx|xx|
|-----|
#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
if(i==1)
{
cout<<"|";
for(int j=1;j<=n-2;j++)
{
cout<<"-";
}
cout<<"|"<<endl;
}
else if(i==(n+1)/2)
{
cout<<"|";
for(int j=1;j<=n-2;j++)
{
if(j!=n/2)cout<<"-";
else cout<<"x";
}
cout<<"|"<<endl;
}
else if(i==n)
{
cout<<"|";
for(int j=1;j<=n-2;j++)
{
cout<<"-";
}
cout<<"|";
}
else
{
cout<<"|";
for(int j=1;j<=n-2;j++)
{
if(j==n/2)cout<<"|";
else cout<<"x";
}
cout<<"|"<<endl;
}
}
return 0;
}
记得一键三连哦!
标签:输出,Copy,正整数,NN,int,leq,题目,解析,GESP From: https://blog.csdn.net/chzh324324/article/details/143738416