完全日期(蓝桥杯)

文章目录

  • 完全日期
    • 题目描述
    • 模拟

完全日期

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

如果一个日期中年月日的各位数字之和是完全平方数,则称为一个完全日期。

例如:2021 年 6 月 5 日的各位数字之和为 2 + 0 + 2 + 1 + 6 + 5 = 162+0+2+1+6+5=16,而 16 是一个完全平方数,它是 44 的平方。所以 20212021 年 6 月 5 日是一个完全日期。

例如:2021年 6 月 23 日的各位数字之和为 2 + 0 + 2 + 1 + 6 + 2 + 3 = 162+0+2+1+6+2+3=16,是一个完全平方数。所以 2021 年 6 月 23 日也是一个完全日期。

请问,从 2001 年 1月 1日到 2021年 12 月 31日中,一共有多少个完全日期?

模拟

// 导入必要的标准库
#include <bits/stdc++.h>
using namespace std;// 预定义每个月的天数,其中二月默认为28天,闰年时会修改
int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};// 定义一个检查函数,用来判断某个日期的年月日数字和是否为完全平方数
bool check(int n)
{int sum=0; // 定义一个变量来存储数字和// 使用循环来计算年月日所有数字的和while(n){sum+=n%10; // 计算当前最低位的数字,并加到和中n/=10; // 将数字右移一位,即去掉已经处理的最低位}// 从1到8遍历所有可能的平方数(因为数字和不会超过两位数的完全平方数)for(int i=1;i<=8;i++){// 如果i的平方等于数字和,则返回true,表示这是一个完全日期if(pow(i,2)==sum)return true;}// 如果所有的平方数都不匹配,则返回falsereturn false;
}// 主函数
int main()
{int ans=0; // 用于存储完全日期的总数// 遍历2001年到2021年所有的年份for(int i=2001;i<=2021;i++){// 判断当前年份是否为闰年,并设置二月的天数if(i%4==0&&i%100!=0||i%400==0)months[2]=29;elsemonths[2]=28;// 遍历每个月for(int j=1;j<=12;j++){// 遍历每天for(int k=1;k<=months[j];k++){// 生成当前日期的数字形式,如20210605int num=i*10000+j*100+k;// 调用check函数检查当前日期if(check(num))ans++; // 如果是完全日期,计数器加1}}}// 输出完全日期的总数cout<<ans;return 0;
}

代码的主要逻辑是遍历指定日期范围内的每一天,将年月日组成一个整数,并计算这个整数每位数字的和,然后检查这个和是否是1到8中某个数的平方,如果是,则将该日期视为“完全日期”,并对完全日期的总数进行计数。最后,输出在指定日期范围内的完全日期总数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Z变换和离散傅里叶变换区别

Z变换和离散傅里叶变换&#xff08;DFT&#xff09;都是数字信号处理中的重要工具&#xff0c;它们之间有几个关键的区别&#xff1a; 定义域&#xff1a; Z变换是在整个Z平面上定义的&#xff0c;可以处理信号的整个频率范围。 DFT仅在单位圆上定义&#xff0c;对应于周期信号…

【Linux驱动层】iTOP-RK3568学习之路(二):vscode中设置头文件路径-完成代码自动补全

在Ubuntu下用vscode写Linux驱动层的时候&#xff0c;需要添加头文件&#xff1a; #include<linux/module.h> #include<linux/init.h> #include<linux/kernel.h>但vscode没有智能提示&#xff0c;因此需要我们手动添加自己的头文件路径&#xff1a; topeetu…

嵌入式Linux开发实操(十七):Linux Media Infrastructure userspace API

视频和无线电流媒体设备使用的Linux内核到用户空间API,包括摄像机、模拟和数字电视接收卡、AM/FM接收卡、软件定义无线电(SDR)、流捕获和输出设备、编解码器设备和遥控器。典型的媒体设备硬件如下: 媒体基础设施API就是用于控制此类设备的,分五个部分。 第一部分V4L2 API…

设计模式学习笔记 - 开源实战三(下):借助Google Guava学习三大编程范式中的函数式编程

概述 现在主流的编程范式主要有三种&#xff0c;面向过程、面向对象和函数式编程。在理论部分&#xff0c;已经介绍了前面两种编程范式。本章再讲讲剩下的编程范式&#xff0c;函数式编程。 函数式编程并非是一个很新的东西&#xff0c;早在 50 年前就已经出现。近几年&#…

全量知识系统 程序详细设计 之“因果关系模型”(QA百度搜索)

Q1. 今天聊聊全量知识系统&#xff08;简称“全知系统”&#xff09;中 对“因果”的理解。&#xff08;地位、意义和作用&#xff09; 在全量知识系统&#xff08;全知系统&#xff09;中&#xff0c;“因果”的理解占据着核心地位&#xff0c;其意义和作用不容忽视。以下是对…

AI安全之问:我们的智能助手真的安全吗?

在我们日益依赖人工智能来撰写文档、编写程序代码、甚至创作艺术作品的今天&#xff0c;我们是否曾经想过这些智能系统可能面临的被恶意操纵的风险&#xff1f; 分享几个网站 GPT-3.5研究测试&#xff1a; https://hujiaoai.cn GPT-4研究测试&#xff1a; https://higpt4.cn…

MKS 质量MFC流量控制器原理及应用课件PPT

MKS 质量MFC流量控制器原理及应用课件PPT

Git | Git基本命令

Git | Git基本操作 文章目录 Git | Git基本操作一、创建Git本地仓库1、创建Git仓库2、配置Git3、理解工作区、暂存区、版本库关系 二、添加、修改与查看添加文件查看历史提交记录 修改文件查看.git文件 三、版本回退版本回退撤销修改尚未add已add但还未commit已add并commit 删除…

安信可 ESP_01SWIFI模块的使用 (电脑通过usb转tll模块连接wifi模块进行调试)

一&#xff1a;需要用到的模块 &#xff08;1&#xff09;安信可的ESP_01wifi模块 ESP-01是深圳安信可科技基于ESP8266芯片开发的串口wifi模块&#xff0c;模组集成了透传功能&#xff0c;即买即用&#xff0c;支持串口指令集&#xff0c;用户通过串口即可实现网络访问…

STM32相关手册

目录 数据手册 STM32F103C8T6数据手册 STM32F429IGT6数据手册 参考手册 STM32F103C8T6参考手册 STM32F429IGT6参考手册 数据手册 STM32F103C8T6数据手册 链接&#xff1a;https://url80.ctfile.com/d/38076880-60948910-e7c11b?p9868 密码&#xff1a;9868 STM32F429IGT6数…

List的介绍

前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&#x1…

ASP.Net MVC 登录页面实现RSA非对称加密

一、什么是RSA非对称加密 RSA是1977年由罗纳德李维斯特&#xff08;Ron Rivest&#xff09;、阿迪萨莫尔&#xff08;Adi Shamir&#xff09;和伦纳德阿德曼&#xff08;Leonard Adleman&#xff09;一起提出的。 RSA算法是一种非对称加密算法&#xff0c;与对称加密算法不同…

广州大学2023-2024学年第一学期《计算机网络》A卷

选择题&#xff1a; 考得和往年试卷&#xff08;往年试卷&#xff0c;我都做了&#xff0c;但是都是些09年、10年、11年、12年、13年的试卷&#xff0c;离现在最近的都是17-28年的。选择填空题的参考性已经不高了&#xff0c;但是大题的题型还是差不多的。&#xff09;大相径庭…

Java之继承和多态

继承 一 、继承相关基础 1.1 为什么需要继承 先看下代码 // Dog.java public class Dog { string name ; int age ; float weight ; public void eat (){ System . out . println ( name " 正在吃饭 " ); } public void sleep (){ System . ou…

Spring Cloud Feign面试题

Spring Cloud Feign面试题 1. Feign基础概念1.1 什么是Feign&#xff1f;1.2 Feign的主要用途是什么&#xff1f;1.3 Feign和OpenFeign有何区别&#xff1f;1.4 Feign和Ribbon以及RestTemplate的区别是什么&#xff1f; 2. Feign的使用和配置2.1 如何创建一个Feign客户端&#…

如何在本地创建一个新的Git仓库?

文章目录 **步骤一&#xff1a;开启项目之旅****步骤二&#xff1a;启动Git引擎****步骤三&#xff1a;验证仓库初始化情况****步骤四&#xff1a;填充项目内容****步骤五&#xff1a;保存更改——初次提交****&#xff08;可选步骤六&#xff1a;关联远程仓库并推送&#xff0…

基于Spring Cloud Alibaba+Skywalking的分布式链路追踪设计

胡弦&#xff0c;视频号2023年度优秀创作者&#xff0c;互联网大厂P8技术专家&#xff0c;Spring Cloud Alibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者&#xff0c;资深架构师&#xff0c;技术负责人&#xff0c;极客时间训练营讲师&#xff0c;四…

双向链表-(增删减改)

声明 单链表&#xff08;增删减改&#xff09;单链表实现通讯录项目链表的专用题型-CSDN博客https://blog.csdn.net/Jason_from_China/article/details/137722729 双链表和单链表就是异曲同工 链表的分类 这里我们主要讲解的是不带头的单向不循环链表&#xff0c;在题型解析里面…

将Python机器学习模型集成到C++ Qt客户端应用程序中|Qt调用python详解

0、前言 有几个不同的选项可以将你的Python机器学习模型集成到你的C Qt客户端应用程序中。以下是一些可能的解决方案&#xff1a; 创建API&#xff1a; 将你的机器学习模型部署为一个API服务。你可以使用像Flask这样的轻量级Web框架来创建一个简单的HTTP服务。这样&#xff0…

关于文件上传的前后端优化

此前做过单文件、多文件上传和大文件分片上传&#xff0c;虽然功能有了&#xff0c;效果也还可以。不过最近重新思考一下&#xff0c;突然注意到一个重要的事情&#xff0c;大文件上传中&#xff0c;系统做了很多无用功&#xff0c;导致效率太低&#xff01; 怎么说呢&#xff…