当前位置: 首页 > news >正文

c++习题08-计算星期几

目录

一,问题

二,思路 

三,代码 


一,问题

二,思路 

  1. 首先,需要注意到的是3^2000这个数值很大,已经远远超过了long long 数据类型能够表示的范围,如果想要使用指定的数据类型来保存这个数据值,就需要使用大数库:如 GMP(GNU Multiple Precision Arithmetic Library)或 C++ 的 Boost.Multiprecision 库,这些库可以处理任意精度的整数。但是这种方法比较麻烦,需要自己去下载安装及运行编译boost库。这道题也可以不使用大数库。
  2. 如果我不使用大数库,那么我可以先尝试将每一次得到的数值,去重复循环减去7(死循环结束的条件是数值小于7,如果数值不是大于7,那么在循环体里面重复减去7的时候会出现负数,不符合题目要求)。【为什么要减去七?是因为每一周的间隔都是7天一直减去7直到数值在0~7的范围,将复杂的问题简单化】
  3. 通过死循环,将数值变小,通过验证,得到我想要的数值,之后就可以把数值拿来作为判断的条件,如果数值等于1,就输出"Monday"...

 在上面思路的第二步中,为什么我要那么操作?主要是我自己先在草稿纸上将前三周的天数和周号都写下来,之后发现,既然每周的间隔都是7天,那么我就可以以数字7作为媒介,去寻找规律,并且,在第一周中,天数和周号是一样的,所以,我就想到,能不能找到一个办法,让极其大的数字,持续不断的变小,变成小于7的数字?加上没法确定让数字持续不断变小的次数,因此,我就选择了死循环。

三,代码 

#include <iostream>
using namespace std;
int main()
{int a,b,sz=1;cin>>a>>b;for(int i=0; i<b; i++){sz*=a;while(sz>7){sz-=7;}}if(sz==1) cout<<"Monday";else if(sz==2) cout<<"Tuesday";else if(sz==3) cout<<"Wednesday";else if(sz==4) cout<<"Thursday";else if(sz==5) cout<<"Friday";else if(sz==6) cout<<"Saturday";else if(sz==7) cout<<"Sunday";return 0;
}

 有问题请在评论区留言或者是私信我,回复时间不超过一天。 

http://www.lryc.cn/news/390766.html

相关文章:

  • 单目相机减速带检测以及测距
  • Xilinx FPGA:vivado实现乒乓缓存
  • 解决 VM 虚拟机网络连接异常导致的 Finalshell 无法连接及 ifconfig 中 ens33 丢失问题
  • 深入Django(三)
  • 观测云赋能「阿里云飞天企业版」,打造全方位监控观测解决方案
  • 51单片机第27步_单片机工作在睡眠模式
  • 互联网应用主流框架整合之SpringCloud微服务治理
  • 超快的 Python 包管理工具「GitHub 热点速览」
  • 网络基础:OSPF 协议
  • 1456.定长子串中元音的最大数目
  • 基于xilinx FPGA的GTX/GTH/GTY位置信息查看方式(如X0Y0在bank几)
  • JAVA小知识30:JAVA多线程篇1,认识多线程与线程安全问题以及解决方案。(万字解析)
  • Python数据分析案例47——笔记本电脑价格影响因素分析
  • 【加密与解密】【09】GPG Client签名流程
  • “2024软博会” 为软件企业提供集展示、交流、合作一站式平台
  • 【Zoom安全解析】深入Zoom的端到端加密机制
  • 7 动态规划
  • .net 快速开发框架开源
  • 《昇思25天学习打卡营第06天|网络构建》
  • 【链表】- 两两交换链表中的节点
  • java设计模式(四)——抽象工厂模式
  • 动物检测yolo格式数据集(水牛 、大象 、犀牛 、斑马四类)
  • 昇思25天学习打卡营第05天 | 数据变换 Transforms
  • Springboot+MySQL 公寓报修管理系统源码
  • jenkins 发布服务到linux服务器
  • Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
  • 防止跨站脚本攻击XSS之Antisamy
  • Python爬虫实战案例——王者荣耀皮肤抓取
  • PyTorch计算机视觉实战:目标检测、图像处理与深度学习
  • 4D 生物打印:将时间维度融入,打造个性化动态组织