蓝桥杯三月刷题 第10天

【蓝桥杯三月刷题 第X天】——

文章目录

  • 前言
  • 解题报告
    • 裁纸刀
      • 一、思路:
      • 二、代码:
    • 刷题统计
      • 一、思路:
      • 二、代码:
    • 修剪灌木
      • 一、思路:
      • 二、代码:

前言

        刷刷刷

解题报告

裁纸刀

biu~

☘️ 题目描述☘️
蓝桥杯三月刷题 第10天_第1张图片

一、思路:

        (1)由题可以看出一张纸固定裁剪4次确定裁剪的框架,再裁剪几行几列裁剪为 裁剪次数 = 4 + 格子行 − 1 次 + ( 格子列 − 1 ) ∗ 格子行数 裁剪次数=4+格子行-1次+(格子列-1)*格子行数 裁剪次数=4+格子行1+(格子列1格子行数

二、代码:

#include 
using namespace std;
int main()
{
  cout << 4 + 19 + 21 * 20;
  return 0;
}

刷题统计

biu~

☘️ 题目描述☘️
蓝桥杯三月刷题 第10天_第2张图片

一、思路:

        (1)n很大需要为long类型
        做题经过:一开始直接for循环 天数 m o d 7 天数mod7 天数mod7循环累加大于 n n n后输出的, n n n数据太大,然后直接将 ( n ) m o d 每周总题数 (n)mod每周总题数 (n)mod每周总题数 ,看剩余几天进行累加输出;结果也是因为数据太大找了半天才发现错误是数据类型给小了;

二、代码:

#include 
using namespace std;

int main() {
  long day, a, b, n, c, i;
  cin >> a >> b >> n;
  day = n / (a*5+b*2);
  c = n % (a*5+b*2);
  int re = 0;
  for (i = 1; i <= 7; i++) {
    if (i <= 5) {
      re += a;
    } else {
      re += b;
    }
    if (re >= c) break;
  }
  if (!c) {
    cout << day * 7;
  } else { 
    cout << day * 7 + i;
  }
  return 0;
}

修剪灌木

biu~

☘️ 题目描述☘️
蓝桥杯三月刷题 第10天_第3张图片

一、思路:

        (1)模拟了一下后发现这题是有规律的,然后画了下图,发现前半部分是 ( n − i ) ∗ 2 (n - i) * 2 (ni)2,后半部分是 ( i − 1 ) ∗ 2 (i - 1) * 2 (i1)2
        更清晰简介的代码

二、代码:

#include 
using namespace std;
int main()
{
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    if (i <= n / 2) {
       cout << (n - i) * 2 << endl;
     } else {
        cout << (i - 1) * 2 << endl;
    }
  }
  return 0;
}

你可能感兴趣的:(蓝桥杯刷题,基础算法学习笔记,蓝桥杯,算法,c++)