【每日一题】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. 代码实现(AC_Code) 10.15 回文判定1. 题目2. 解题思路3. 代码实现(AC_Code) 10.16 二次方程1. 题目2. 解题思路3. 代码实现(AC_Code) 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中,您可以方便地找到并使用Qt 4和Qt 5库。Qt 4库…...

TwinCAT3添加PLC轴,并建立PLC轴与NC轴的链接
右键PLC选项,点击创建新项 在弹出的对话框中,选择PLC Templates,然后选择Standard PLC Project,填写项目名称后点击添加 在PLC项目目录中右键GVLs,选择Add,添加Global Variable List(全局变…...

Linux操作系统如何制作U盘启动盘
在麒麟系统中有一款U盘启动器软件,它是用于制作系统启动U盘的工具,方便无光驱的电脑安装操作系统,也可以反复使用一个U盘,避免光盘的浪费。下面对该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时,开启了日志功能,部署时有三个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文件中,id是唯一的,即不同有两个相同id 的Item;当前qml文件中声明的id在当前文件中有效(即如果其它组件中传入的id,与当前qml文件中id 相同,当前…...

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

【记录】Android|安卓平板 猫游戏(四款,peppy cat,含下载教程和链接)
前言 网上大部分直接找到的都是 iPad 的猫游戏,安卓的要查英文才找得到,但质量也都一般,或不知道在哪里下载。 遂自己找。 下载测试时间:2024/10/20 文章目录 前言1 检索2 亲测2.1 ✅⭐⭐⭐⭐⭐Cat Alone 1 and 22.2 Ǵ…...
微前端架构及其解决方案对比
微前端架构及其解决方案对比 微前端架构是一种通过将大型前端应用拆分为多个独立的、可单独部署的小型应用的设计模式。随着这种模式的流行,诞生了多种微前端实现方案,每个方案都有其独特的特点和适用场景。以下是常见的微前端解决方案及其优缺点对比&a…...

git add操作,文件数量太多卡咋办呢,
git add介绍 Git的add命令是用于将文件或目录添加到暂存区(也就是索引库),以便在后续的提交(commit)操作中一并上传到版本库的。具体来说,git add命令有以下几种常见用法: 添加单个文件&#…...

搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
参考文章: 安装protoc、protoc-gen-go、protoc-gen-go-grpc-CSDN博客 一、简单介绍 本文开发环境,均为 windows 环境,mac 环境其实也类似 ~ ① 编译proto文件,相关插件 简单介绍: protoc 是编译器,用于将…...
Spring Boot 核心理解-自动装配
自动装配 spring boot的自动装配(auto configuration)是通过spring framework的依赖注入(dependency injection, DI)和配置类的组合来实现的。 spring boot 的自动装配机制可以简化应用的配置过程,是开发者不再需要手…...
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用户信息管理 管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。 图5.1 用户信息管理页面 5.2 视频分享管理 管理员管理视频分享,可以添加,修改,删除视频分…...

【前端】如何制作一个自己的网站(11)
接上文。 除了前面的颜色样式外,字体样式和文本样式也是网页设计中的重要组成部分。 合适的字体和文本排版,不仅可以使页面更加美观,也可以提升用户体验。接下来,我们先来看看CSS如何设置字体样式。 字体样式 同时设置了字体样…...
【Conda】提高 Conda 下载速度与兼容性的完美指南
这里写目录标题 引言1. Conda 官方源1.1 常用官方源1.2 源的选择1.3 源的作用 2. 设置 Conda 源2.1 查看当前配置2.2 添加新的源2.3 设置源的优先级2.4 移除源2.5 示例:设置使用 conda-forge 3. 使用中国镜像源3.1 常用中国镜像源3.2 设置中国镜像源3.3 验证镜像源设…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...