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

【每日一题】24.10.14 - 24.10.20

  • 10.14 直角三角形
    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现(AC_Code)
  • 10.15 回文判定
    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现(AC_Code)
  • 10.16 二次方程
    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现(AC_Code)
  • 10.17 互质
    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现(AC_Code)
  • 10.18 穿越时空之门
    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现(AC_Code)
  • 10.19 元音大写
    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现(AC_Code)
  • 10.20 跑步
    • 1. 题目
    • 2. 解题思路
    • 3. 代码实现(AC_Code)

在这里插入图片描述
在这里插入图片描述

上期回顾:【每日一题】24.10.7 - 24.10.13
个人主页:C_GUIQU
归属专栏:每日一题

10.14 直角三角形

1. 题目

直角三角形

在这里插入图片描述

2. 解题思路

用if判断,列出三种形式的勾股定理。

3. 代码实现(AC_Code)

  • C++
#include <iostream>using namespace std;int main()
{int a,b,c;cin >> a >> b >> c;if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a)cout << "YES" << endl;elsecout << "NO" << endl;return 0;
}
  • Java
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int a = scan.nextInt();int b = scan.nextInt();int c = scan.nextInt();if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a)System.out.println("YES");elseSystem.out.println("NO");scan.close();}
}

10.15 回文判定

1. 题目

回文判定

在这里插入图片描述

2. 解题思路

从前往后遍历的同时从后往前遍历,判断对应字符是否相等。

3. 代码实现(AC_Code)

  • C++
#include <iostream>using namespace std;int main()
{string str;cin >> str;for (int i = 0, j = str.length() - 1; i < str.length() / 2; i++, j--){if(str[i] != str[j]){cout << "N" << endl;return 0;} }cout << "Y" << endl;return 0;
}
  • Java
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String str = scan.next();for (int i = 0, j = str.length() - 1; i < j; i++, j--) {if(str.charAt(i) != str.charAt(j)) {System.out.println("N");return ;}}System.out.println("Y");scan.close();}
}

10.16 二次方程

1. 题目

二次方程

在这里插入图片描述

2. 解题思路

具体见代码

3. 代码实现(AC_Code)

  • C++
#include <iostream>
#include <cmath>using namespace std;int main()
{int a, b, c;cin >> a >> b >> c;int delta = b * b - 4 * a * c;if(delta < 0)cout << "NO" << endl;else{// 用double相对于int更准确double x1 = (-b + sqrt(delta) / 2.0 * a);double x2 = (-b + sqrt(delta) / 2.0 * a);if(x1 == (int)x1 && x2 == (int)x2)cout << "YES" << endl;elsecout << "NO" << endl;}return 0;
}
  • Java
import java.util.Scanner;
import java.lang.Math; // 用于调用sqrt函数public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int a = scanner.nextInt();int b = scanner.nextInt();int c = scanner.nextInt(); // 读取输入的三个整数// 判别式 delta = b^2 - 4acint delta = b * b - 4 * a * c;// 检查方程是否有实数根,并且这些根是否为整数if (delta < 0) {// 如果判别式小于0,则方程没有实数根System.out.println("NO");} else {// 计算两个根double x1 = (-b + Math.sqrt(delta)) / (2.0 * a);double x2 = (-b - Math.sqrt(delta)) / (2.0 * a);// 检查根是否为整数if (x1 == Math.floor(x1) && x2 == Math.floor(x2)) {System.out.println("YES");} else {System.out.println("NO");}}scanner.close();}
}

10.17 互质

1. 题目

互质

在这里插入图片描述

2. 解题思路

用欧几里得算法找出任意两个正整数的最大公约数,判断是否为1,为1则是质数,反之则不是质数。

法1:递归
法2:迭代
在递归版本中,函数不断地调用自身,直到 b 为 0,此时返回 a,即为最大公约数。在迭代版本中,使用一个循环不断更新 a 和 b 的值,直到 b 为 0,此时 a 就是最大公约数。

【欧几里得算法】又称辗转相除法,是用来求两个正整数最大公约数的一种方法。
算法原理:
假设两个数为a和b(a>b),用a除以b得到余数r,若r为0,则b就是a和b的最大公约数;若r不为0,则用b除以r,再得到新的余数,继续这个过程,直到余数为0为止,此时的除数就是a和b的最大公约数。

在这里插入图片描述

3. 代码实现(AC_Code)

  • C++

【法1】递归

#include <iostream>using namespace std;int gcd(int a, int b)
{if(b == 0)return a;elsereturn gcd(b, a % b);
}int main()
{int count = 0;for(int i =1; i <= 2020; i++){if(gcd(i, 1018) == 1)count++;}cout << count << endl;return 0;
}

【法2】迭代

#include <iostream>using namespace std;int gcd(int a, int b)
{while(b != 0){int temp = b;b = a % b;a = temp;}return a;
}int main()
{int count = 0;for(int i =1; i <= 2020; i++){if(gcd(i, 1018) == 1)count++;}cout << count << endl;return 0;
}
  • Java

【法1】递归

public class Main {public static int gcd(int a, int b) {if(b == 0)return a;elsereturn (gcd(b,a % b));}public static void main(String[] args) {int count = 0;for(int i = 1; i <= 2020; i++) {if(gcd(i, 1018) == 1)count++;}System.out.println(count);}
}

【法2】迭代

public class Main {public static int gcd(int a, int b) {while(b != 0) {int temp = b;b = a % b;a = temp;}return a;}public static void main(String[] args) {int count = 0;for(int i = 1; i <= 2020; i++) {if(gcd(i, 1018) == 1)count++;}System.out.println(count);}
}

10.18 穿越时空之门

1. 题目

穿越时空之门

在这里插入图片描述

2. 解题思路

具体见代码。

3. 代码实现(AC_Code)

  • C++
#include <iostream>
#include <string>using namespace std;// 计算给定整数 n 的二进制表示中各位数字之和的函数
int getBinarySum(int n)
{string binary = "";// 将整数 n 转换为二进制表示并存入字符串 binary 中while(n > 0){binary = to_string(n % 2) + binary;n /= 2;}int sum = 0;// 遍历二进制字符串,计算各位数字之和for(char digit : binary){// 将字符类型的数字字符转换为实际数字值并累加到 sum 中// 例如,'1' - '0' 的结果是 1sum += digit - '0';}return sum;
}// 计算给定整数 n 的四进制表示中各位数字之和的函数
int getQuaternarySum(int n)
{string Quaternary = "";// 将整数 n 转换为四进制表示并存入字符串 Quaternary 中while(n > 0){Quaternary = to_string(n % 4) + Quaternary;n /= 4;}int sum = 0;// 遍历四进制字符串,计算各位数字之和for(char digit : Quaternary){// 将字符类型的数字字符转换为实际数字值并累加到 sum 中sum += digit - '0';}return sum;
}int main()
{int count = 0;// 遍历从 1 到 2024 的所有整数for(int i = 1; i <= 2024; i++){// 如果当前整数 i 的二进制表示各位数字之和等于四进制表示各位数字之和if(getBinarySum(i) == getQuaternarySum(i))count++;}// 输出符合穿越条件的勇者人数cout << count << endl;return 0;
}
  • Java
public class BinaryQuaternaryEquality {// 计算给定整数 n 的二进制表示中各位数字之和的方法public static int getBinarySum(int n) {// 将整数 n 转换为二进制字符串表示,例如 n = 5 时,返回 "101"String binary = Integer.toBinaryString(n);int sum = 0;// 将二进制字符串转换为字符数组进行遍历for (char digit : binary.toCharArray()) {// 将字符类型的数字字符转换为实际数字值并累加到 sum 中,// 例如,'1' - '0' 的结果是 1sum += digit - '0';}return sum;}// 计算给定整数 n 的四进制表示中各位数字之和的方法public static int getQuaternarySum(int n) {// 将整数 n 转换为四进制字符串表示,例如 n = 5 时,返回 "11"String quaternary = Integer.toString(n, 4);int sum = 0;// 将四进制字符串转换为字符数组进行遍历for (char digit : quaternary.toCharArray()) {// 将字符类型的数字字符转换为实际数字值并累加到 sum 中sum += digit - '0';}return sum;}public static void main(String[] args) {int count = 0;// 遍历从 1 到 2024 的整数for (int i = 1; i <= 2024; i++) {// 如果当前整数 i 的二进制表示各位数字之和等于四进制表示各位数字之和if (getBinarySum(i) == getQuaternarySum(i)) {count++;}}// 输出符合穿越条件的勇者人数System.out.println(count);}
}

10.19 元音大写

1. 题目

元音大写

在这里插入图片描述

2. 解题思路

遍历字符串,逐个判断是否为元音字母,转换为大写字母后输出最终的字符串。

3. 代码实现(AC_Code)

  • C++
#include <iostream>
#include <string>using namespace std;int main()
{string str;cin >> str;for (int i = 0; i < str.length(); i++){if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u')str[i] = toupper(str[i]);}cout << str << endl;return 0;
}
  • Java
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String str = scan.next();// 将输入的字符串转换为字符数组char[] charArray = str.toCharArray();for (int i = 0; i < charArray.length; i++) {if (charArray[i] == 'a' || charArray[i] == 'e' || charArray[i] == 'i' || charArray[i] == 'o' || charArray[i] == 'u')// 将当前字符转换为大写形式charArray[i] = Character.toUpperCase(charArray[i]);}// 将修改后的字符数组转换回字符串并输出System.out.println(new String(charArray));scan.close();}
}

10.20 跑步

1. 题目

跑步

在这里插入图片描述

2. 解题思路

具体见代码。

3. 代码实现(AC_Code)

  • C++
#include <iostream>using namespace std;int main()
{// 定义一个数组month,用于存储每个月的天数// 这里按照非闰年的情况初始化,2月为28天int month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};// 定义变量day,用于模拟从2022年1月1日开始的天数计数,初始值为1int day = 1;// 定义变量sum,用于累加满足晨跑条件的天数,初始值为0int sum = 0;// 外层循环,遍历12个月for (int i = 0; i < 12; i++){// 内层循环,遍历每个月的天数for (int j = 1; j <= month[i]; j++){// 判断当前日期是否满足晨跑条件// 如果是周六(day % 7 == 1)或者周日(day % 7 == 2)// 或者是每月的1日、11日、21日、31日,则满足条件if (day % 7 == 1 || day % 7 == 2 || j == 1 || j == 11 || j == 21 || j == 31){// 如果满足晨跑条件,将sum加1sum++;}// 每经过一天,day的值增加1,模拟天数的递增day++;}}// 输出满足晨跑条件的总天数cout << sum << endl;return 0;
}
  • Java
public class Main {public static void main(String[] args) {int month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, day = 1, sum = 0;for(int i = 0; i < 12; i++) {for(int j = 1; j <= month[i]; j++) {if(day % 7 == 1 || day % 7 == 2 || j == 1 || j == 11 || j == 21 || j == 31)sum++;day++;}}System.out.println(sum);}
}

最后,感谢您的阅读,期待您的一键三连!
在这里插入图片描述

相关文章:

【每日一题】24.10.14 - 24.10.20

10.14 直角三角形1. 题目2. 解题思路3. 代码实现&#xff08;AC_Code&#xff09; 10.15 回文判定1. 题目2. 解题思路3. 代码实现&#xff08;AC_Code&#xff09; 10.16 二次方程1. 题目2. 解题思路3. 代码实现&#xff08;AC_Code&#xff09; 10.17 互质1. 题目2. 解题思路3…...

CMake与Qt4/Qt5的结合使用指南

CMake与Qt4/Qt5的结合使用指南 一、同时使用Qt 4和Qt 5二、Qt构建工具2.1 AUTOMOC2.2 AUTOUIC2.3 AUTORCC 三、<ORIGIN>_autogen目标四、Visual Studio生成器五、Windows上的qtmain.lib六、其他文章推荐 在CMake中&#xff0c;您可以方便地找到并使用Qt 4和Qt 5库。Qt 4库…...

TwinCAT3添加PLC轴,并建立PLC轴与NC轴的链接

右键PLC选项&#xff0c;点击创建新项 在弹出的对话框中&#xff0c;选择PLC Templates&#xff0c;然后选择Standard PLC Project&#xff0c;填写项目名称后点击添加 在PLC项目目录中右键GVLs&#xff0c;选择Add&#xff0c;添加Global Variable List&#xff08;全局变…...

Linux操作系统如何制作U盘启动盘

在麒麟系统中有一款U盘启动器软件&#xff0c;它是用于制作系统启动U盘的工具&#xff0c;方便无光驱的电脑安装操作系统&#xff0c;也可以反复使用一个U盘&#xff0c;避免光盘的浪费。下面对该U盘启动器使用方法做详细讲解。 1.准备需要安装的系统镜像文件。 图 1 2.准备1…...

如何防止SpringBoot中的jar反编译?解决相关报错及踩到的坑

目录 1. 面对的场景 2. 方案 2.1 使用代码混淆 2.2 JAR包加密 3. 项目操作 4. 启动方式 5. 踩到的各种坑 5.1 java -jar xxx-0.0.1-SNAPSHOT.jar 没有主清单属性 5.2 Caused by: java.lang.IllegalArgumentException: Unrecognized option: -pwdfxw-jar 1. 面对的场景…...

Axios 基本使用

Axios 是一个异步请求技术,核心作用就是用来在页面中发送异步请求,并获取对应数据在页面中渲染 页面局部更新技术 Ajax 中文网站:https://www.kancloud.cn/yunye/axios/234845 安装: <script src"https://unpkg.com/axios/dist/axios.min.js"></script&g…...

前端大佬都在用的actionDelegationMiddleware究竟有多香?

作为一个前端开发者,我深知跨组件通信的痛点。今天,我要和大家分享一个让我眼前一亮的工具 - alovajs 的 actionDelegationMiddleware。这个中间件简直就是跨组件通信的得力助手!它让我们可以在任意组件中触发其他组件的请求操作,解决了很多麻烦。用了它之后,我感觉整个项目的架…...

解决k8s集群中安装ks3.4.1开启日志失败问题

问题 安装kubesphere v3.4.1时&#xff0c;开启了日志功能&#xff0c;部署时有三个pod报错了 Failed to pull image “busybox:latest”: rpc error: code Unknown desc failed to pull and unpack image “docker.io/library/busybox:latest”: failed to copy: httpRead…...

Qml-Item的Id生效范围

Qml-Item的Id生效范围 前置声明 本实例在Qt6.5版本中做的验证同一个qml文件中&#xff0c;id是唯一的&#xff0c;即不同有两个相同id 的Item;当前qml文件中声明的id在当前文件中有效&#xff08;即如果其它组件中传入的id&#xff0c;与当前qml文件中id 相同&#xff0c;当前…...

【配色网站分享】

个人比较喜欢收藏一些好看的插画、UI设计图和配色&#xff0c;于是有了此篇&#xff0c;推荐一些配色网站&#xff0c;希望能对自己和大家有些帮助。 1.uiGradients 一个主打渐变风网站&#xff0c;还可以直接复制颜色。 左上角的“show all gradients”可以查看一些预设的渐…...

【记录】Android|安卓平板 猫游戏(四款,peppy cat,含下载教程和链接)

前言 网上大部分直接找到的都是 iPad 的猫游戏&#xff0c;安卓的要查英文才找得到&#xff0c;但质量也都一般&#xff0c;或不知道在哪里下载。 遂自己找。 下载测试时间&#xff1a;2024/10/20 文章目录 前言1 检索2 亲测2.1 ✅⭐⭐⭐⭐⭐Cat Alone 1 and 22.2 &#x1f4…...

微前端架构及其解决方案对比

微前端架构及其解决方案对比 微前端架构是一种通过将大型前端应用拆分为多个独立的、可单独部署的小型应用的设计模式。随着这种模式的流行&#xff0c;诞生了多种微前端实现方案&#xff0c;每个方案都有其独特的特点和适用场景。以下是常见的微前端解决方案及其优缺点对比&a…...

git add操作,文件数量太多卡咋办呢,

git add介绍 Git的add命令是用于将文件或目录添加到暂存区&#xff08;也就是索引库&#xff09;&#xff0c;以便在后续的提交&#xff08;commit&#xff09;操作中一并上传到版本库的。具体来说&#xff0c;git add命令有以下几种常见用法&#xff1a; 添加单个文件&#…...

搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程

参考文章&#xff1a; 安装protoc、protoc-gen-go、protoc-gen-go-grpc-CSDN博客 一、简单介绍 本文开发环境&#xff0c;均为 windows 环境&#xff0c;mac 环境其实也类似 ~ ① 编译proto文件&#xff0c;相关插件 简单介绍&#xff1a; protoc 是编译器&#xff0c;用于将…...

Spring Boot 核心理解-自动装配

自动装配 spring boot的自动装配&#xff08;auto configuration&#xff09;是通过spring framework的依赖注入&#xff08;dependency injection, DI&#xff09;和配置类的组合来实现的。 spring boot 的自动装配机制可以简化应用的配置过程&#xff0c;是开发者不再需要手…...

go 中指针的执行效率比较

package main import ("fmt""time" ) type Books struct {title stringauthor stringsubject stringbook_id int } func main() {start : time.Now() // 记录开始时间var Book1 Books /* 声明 Book1 为 Books 类型 */var Book2 Books /* 声明…...

单链表的经典算法OJ

目录 1.反转链表 2.链表的中间节点 3.移除链表元素 ——————————————————————————————————————————— 正文开始 1.反转链表 typedef struct ListNode ListNode; struct ListNode* reverseList(struct ListNode* head) {//判空if(…...

视频网站开发:Spring Boot框架的高效实现

5 系统实现 5.1用户信息管理 管理员管理用户信息&#xff0c;可以添加&#xff0c;修改&#xff0c;删除用户信息信息。下图就是用户信息管理页面。 图5.1 用户信息管理页面 5.2 视频分享管理 管理员管理视频分享&#xff0c;可以添加&#xff0c;修改&#xff0c;删除视频分…...

【前端】如何制作一个自己的网站(11)

接上文。 除了前面的颜色样式外&#xff0c;字体样式和文本样式也是网页设计中的重要组成部分。 合适的字体和文本排版&#xff0c;不仅可以使页面更加美观&#xff0c;也可以提升用户体验。接下来&#xff0c;我们先来看看CSS如何设置字体样式。 字体样式 同时设置了字体样…...

【Conda】提高 Conda 下载速度与兼容性的完美指南

这里写目录标题 引言1. Conda 官方源1.1 常用官方源1.2 源的选择1.3 源的作用 2. 设置 Conda 源2.1 查看当前配置2.2 添加新的源2.3 设置源的优先级2.4 移除源2.5 示例&#xff1a;设置使用 conda-forge 3. 使用中国镜像源3.1 常用中国镜像源3.2 设置中国镜像源3.3 验证镜像源设…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...

python打卡第47天

昨天代码中注意力热图的部分顺移至今天 知识点回顾&#xff1a; 热力图 作业&#xff1a;对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图&#xff0c;展示模…...