首页 > 编程语言 >c++算法练习day01【2022年蓝桥杯省赛B组题目】每天做一点、、、

c++算法练习day01【2022年蓝桥杯省赛B组题目】每天做一点、、、

时间:2023-01-05 19:11:37浏览次数:48  
标签:储存 题目 int day01 long 蓝桥 c++ last ll

这个练习目前来说就比较宽松,打算在寒假(基本也就是这一个月每天刷几道题吧)

题目一:

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?

答案:

#include <iostream> using namespace std; typedef long long ll; ll a,b,n,add,day; int main() {   cin>>a>>b>>n;   int tem=5*a+2*b;//计算一周要刷多少道题   ll week=n/tem;//计算要刷多少周   ll last=n%tem;//还剩多少道题   day+=week*7;//表示整周的天数   int x=1;   while(last>0)//剩下的题目为零停止(为了解决剩下的题目的问题)   {     if(x%7==6||x%7==0) last-=b;     else last-=a;     day++;     x++;   }   cout<<day<<endl;   return 0; }

题解:

 

 由上图可知,数据类型应为long long型

其次由于本题n的数据范围很大,直接写while循环会超时,所以得先计算一下需要几周,再计算还需要几天。

 作者有话说:

long long只能用于储存整数    but long long 的储存范围要比int 大

众所周知 int 整形类型的变量可以储存的范围是 -2³²+1 ~ 2³²-1 (-2^32+1~2^32-1)

但是 long long 类型可以储存的就比int 类型可以储存的大得多。long long类型的变量可以储存的范围是-2⁶⁴+1~2⁶⁴-1(-2^64+1~2^64-1)

为了验证大家可以试试运行下面这个代码

#include<bits/stdc++.h>//老生常谈的“万能”工具箱
using namespace std;
typedef long long ll;//可以在代码中用ll来代替繁琐的long long
int main(){
    int i=4294967295;
    ll a=18446744073709551615;
    cout<<i<<" "<<a;
    i++;
    a++;
    cout<<i<<" "<<a;
    return 0;
}
//自己编译一下运行 你会发现输出来的结果并不是正常的加一的结果
//而是一个负数 上面我所定义的和输出的那个负数就是
//这两种变量能够储存的极端值了

 

标签:储存,题目,int,day01,long,蓝桥,c++,last,ll
From: https://www.cnblogs.com/gbrr/p/17028653.html

相关文章

  • C++实现有序表--链表的合并操作代码
    #include<iostream>#include<cstdlib>usingnamespacestd;#defineMAXSIZE100#defineOK1#defineERROR0typedefintElemtype;typedefintStatus;typedefstructLNo......
  • C++静态类成员变量和成员函数
    头文件calculateBufferSize.h#ifndefCALCULATE_BUFFER_SIZE#defineCALCULATE_BUFFER_SIZE#include<mutex>#include<memory>#include<iostream>#include<glm/g......
  • C++实现有序表--顺序表的合并操作代码
    #include<iostream>#include<cstdlib>//C++动态分配存储空间usingnamespacestd;#defineOK1#defineERROR0#defineMAXSIZE100typedefintElemtype;typedefintStat......
  • Linux C++ 获取系统CPU和网络情况
    linux下C++获取系统CPU情况和网络使用情况#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#defineMAXBUFSIZE1024#defineWAIT_SE......
  • 六款常用的linux C/C++ IDE
     一、AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Applicationwizards)可以方便的帮助你创建GNOME程序而不......
  • 基于OpenCV DNN模块给黑白老照片上色(附Python/C++源码)
    导读本文给大家分享一个用OpenCVDNN模块给黑白老照片上色的实例,并给出Python和C++版本源码。 背景介绍    这个项目是基于在加利福尼亚大学,伯克利,RichardZhang,Phil......
  • 蓝桥杯——查找的妙趣
    一、查找1.1递归式二分查找作为查找的必学算法,二分查找大家一定不陌生,通过前面我们所学的递归,那么我们继续强化递归思想,将二分查找转换成递归的方式。任何循环都能改......
  • Linux - 配置远程开发Linux C/C++程序环境
    1.使用VS2019远程开发LinuxC/C++程序所谓工欲善其事必先利其器,开发一个项目之前,我们要选择好合适的开发工具以及开发环境。1.1LinuxC/C++程序常见的开发方式在Lin......
  • c++ 查找目录下的子目录及文件
    c++读取指定目录下的所有目录名称+文件名称-远征i-博客园(cnblogs.com) 文件句柄的类型long如果不行试试longlong 另外:使用了批处理,这篇很好CMD批处理循环......
  • 数位排序【第十三届蓝桥杯省赛C++C组】
    数位排序小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。例如......