A:
解题思路:按照题目意思模拟即可,只要不满足条件就输出“No”然后结束循环,否则最后输出“Yes”。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int n,arr[100000],index = 0;
cin >> n;
for(int i = 0;i < n;i++){
cin >> arr[i];
}
for(int i = 1;i < n;i++){
if(arr[i] > arr[i - 1] && arr[i + 1] - arr[i] < arr[i] - arr[i - 1]){
index = 1;
}else{
index = 0;
}
if(index == 0){
cout << "No";
return 0;
}
}
cout << "Yes";
return 0;
}
B:
解题思路:
我没有什么好的想法,我找到个规律,
1 1 * 2
2 2 * 2
3 2 * 3
4 3 * 3
..............
依次表示切割次数和小矩形数量,因为切割次数最多为100,所以可以设置一个数组来存放1-100切割次数分别对应的小矩形数量。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int n,k,arr[100],hen = 1,shu = 1;
cin >> n >> k;
for(int i = 0;i < 100;i++){
if((i + 1) % 2 == 0){
hen++;
}else{
shu++;
}
arr[i] = hen * shu;
}
printf("%.2lf",(n * n * 1.0) / arr[k - 1] * 1.0);
return 0;
}
C:
解题思路:根据题意,直接输出c / a即可
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin >> a >> b >> c;
cout << c / a;
return 0;
}
D:
解题思路:如果n为偶数,输出n / 2,否则在输出n / 2 + 1。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
cout << n / 2;
if(n % 2 == 1){
cout << ' ' << n / 2 + 1;
}
return 0;
}
E:
解题思路:就单纯的解方程问题,设小竹的年龄是y,那么就有x = a * y + b,得到 y = (x - b) / a。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int a,b,x;
cin >> a >> b >> x;
cout << (x - b) / a;
return 0;
}