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

每日一练2627——变态跳台阶快到碗里来不用加减乘除做加法三角形

文章目录

  • 变态跳台阶
    • 思路:
    • 代码:
  • 快到碗里来
    • 思路:
    • 代码:
  • 不用加减乘除做加法
    • 思路:
    • 代码:
  • 三角形
    • 思路:
    • 代码:


变态跳台阶

题目链接:

思路:

这个题目很容易理解,但公式推导有些麻烦
假定第一次跳的是1阶,那么剩下的是n-1个台阶,跳法是f(n-1);
假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2);
假定第一次跳的是3阶,那么剩下的是n-3个台阶,跳法是f(n-3)

假定第一次跳的是n-1阶,那么剩下的是1个台阶,跳法是f(1);
假定第一次跳的是n阶,那么剩下的是0个台阶,跳法是1种(f(0)==1);

根据题图解析可以得出
有一阶台阶的时候 f(1) = f(0) =1;
有两阶台阶的时候可以有 f(2) = f(1)+f(0)=2;
有三阶台阶的时候可以有 f(3) = f(2)+f(1)+f(0)=4;

有n阶台阶的时候,总跳法为:
f(n-1) = f(n-2) + f(n-3)+.... + f(1) + f(0)----------------1
f(n) = f(n-1) + f(n-2)+.... + f(1) + f(0)-------------------2
用2式减去1式可得,f(n)=2*f(n-1)

代码:

class Solution {public:int jumpFloorII(int number) {if (number == 1) //当有一阶台阶的时候{return 1;}return 2 * jumpFloorII(number - 1);//当有n阶台阶的时候}
};

快到碗里来

题目链接:

思路:

这个题目很容易理解,只要输入的猫的身长小于碗的周长即可,通过输入碗半径计算得到周长,与输入的猫的身长相比较。
但是!
在这里插入图片描述
注意看数据范围,这里的数据范围远超整形,使用double才能装下这么大的数据。

代码:

#include <iostream>
using namespace std;
int main() {double n, r;while (cin >> n >> r) {if (n > (2 * r * 3.14))cout << "No" << endl;elsecout << "Yes" << endl;}return 0;
}

不用加减乘除做加法

题目链接:

思路:

不使用+运算符进行加法运算
数字的相加可以转换为二进制的加法,注意每一位相加与进位即可

  1. 两个数异或:相当于每一位相加,而不考虑进位;得到相加后不包含进位的数据
  2. 两个数相与然后再左移一位:得到两数相加的进位
  3. 如果进位不为0,两个结果按章按照上面的方式相加,直到进位为0,得到正确的结果

代码:

class Solution {public:int Add(int num1, int num2) {int digit = num1 ^ num2;int carry = (num1 & num2) << 1;while (carry) {int tmpdigit = digit;digit = tmpdigit ^ carry;carry = (tmpdigit & carry) << 1;}return digit;}
};

三角形

题目链接:

思路:

需要了解三角形的组成条件:最小的两边相加大于第三边即可,对输入的三个数字进行排序,最小的两个相加与另一个数进行比较。
需要注意的是定义变量的时候要用double

代码:

#include<iostream>
#include<algorithm>
using namespace std;
int main() {double index[3];while (cin >> index[0] >> index[1] >> index[2]) {sort(index, index + 3);if (index[0] + index[1] > index[2]) {cout << "Yes" << endl;} else {cout << "No" << endl;}}return 0;
}

end

相关文章:

每日一练2627——变态跳台阶快到碗里来不用加减乘除做加法三角形

文章目录变态跳台阶思路&#xff1a;代码&#xff1a;快到碗里来思路&#xff1a;代码&#xff1a;不用加减乘除做加法思路&#xff1a;代码&#xff1a;三角形思路&#xff1a;代码&#xff1a;变态跳台阶 题目链接&#xff1a; 思路&#xff1a; 这个题目很容易理解&#…...

LeetCode-146. LRU 缓存

目录LRU理论题目思路代码实现一代码实现二题目来源 146. LRU 缓存 LRU理论 LRU 是 Least Recently Used 的缩写&#xff0c;这种算法认为最近使用的数据是热门数据&#xff0c;下一次很大概率将会再次被使用。而最近很少被使用的数据&#xff0c;很大概率下一次不再用到。当缓…...

#课程笔记# 电路与电子技术基础 课堂笔记 第3章 电路分析的几个定理

3.1 叠加定理 激励&#xff1a;电流源或电压源 响应&#xff1a;电流或电压 叠加定理一般用于已知激励或响应中的一种&#xff0c;求另一种。做法就是&#xff0c;每次只求一个激励作用下的响应&#xff0c;将其他激励置零&#xff0c;置零的具体做法是&#xff0c;电压源变…...

推迟参数设计的自适应反步控制和自适应神经网络的反步控制设计

推迟参数设计的自适应反步控制和自适应神经网络的反步控制设计 目录推迟参数设计的自适应反步控制和自适应神经网络的反步控制设计前言匹配与非匹配1. 基于自适应反步控制的非匹配条件下的系统控制器设计问题描述控制器设计小结2. 基于自适应反步控制和推迟参数设计的非匹配条件…...

spring5.1+SmartInstantiationAwareBeanPostProcessor 解决循环依赖

SmartInstantiationAwareBeanPostProcessor 解决循环依赖的过程, 例如上面的 A依赖B, B依赖A SmartInstantiationAwareBeanPostProcessor 是 Spring 中的一个接口&#xff0c;它扩展了 InstantiationAwareBeanPostProcessor 接口并提供了对 Bean 的实例化和属性填充的更高级的…...

apply、call与bind

共同点&#xff1a; 都是函数对象的一个方法&#xff0c;作用是改变函数执行时的上下文&#xff0c;即改变函数体内部this的指向 var name "lucy"; var obj {name: "martin",say: function () {console.log(this.name);} }; obj.say(); // martin&…...

《Effective Objective-C 2.0 》 阅读笔记 item3

第3条&#xff1a;多用字面量语法&#xff0c;少用与之等价的方法 1. 字面数值 使用字面量能令代码更为简洁&#xff1a; NSNumber *someNumber 1; *** 字面量语法的好处&#xff01; *** 令代码更为简洁。能够以NSNumber实例表示的所有数据类型&#xff08;int、float、d…...

SSL/TLS 证书管理

SSL 证书发现 随着组织的 IT 基础架构的扩展&#xff0c;他们为每台计算机获取证书以保护其资源和域。此外&#xff0c;开发人员通常会创建许多自签名证书&#xff0c;以便在产品的开发阶段保护内部网络。组织通常最终会拥有数千个证书。自动发现证书提供了对证书基础结构的完…...

supersqli(SQL注入流程及常用SQL语句)

目录 一、SQL注入知识学习 1、判断注入类型 &#xff08;1&#xff09;数字型注入判断 &#xff08;2&#xff09;字符型注入判断 2、猜解sql查询语句中的字段数&#xff08;order by 的使用&#xff09; 3、判断显示位爆数据库的名字 4、注释&#xff08;--的使用&#…...

【数据结构】用Java实现一棵二叉树

目录 前言 1. 创建MyBinaryTree类 2. 从前序与中序遍历序列构造二叉树 3. 从中序与后序遍历序列构造二叉树 4. 用层序遍历验证二叉树是否构建成功 5. 整体代码&#xff08;构建二叉树、二叉树的基本功能和测试代码&#xff09; 6. 测试结果 前言 前面两篇文章已经给出了…...

【面试】面试官问的几率较大的网络安全面试题

文章目录防范常见的 Web 攻击1、什么是SQL注入攻击2、什么是XSS攻击3、什么是CSRF攻击4、什么是文件上传漏洞5、DDos 攻击重要协议分布图1、arp协议的工作原理ARP协议工作原理&#xff1a;2、什么是RARP&#xff1f;工作原理3、dns是什么&#xff1f;dns的工作原理4、rip协议是…...

[Python] 循环语句

循环语句就是在符合条件的情况下&#xff0c;重复执行一个代码段 1.while循环 while语句可用于在条件为真时反复执行代码块 语法格式 while 条件语句:执行语句 当条件语句为真(True)时&#xff0c;就会执行while循环下的语句 示例 实现1到100 的累加并输出求和结果 …...

计算机网络考试复习——第一章 1.5 1.6

1.5 计算机网络的类别 1.5.1计算机网络的定义&#xff1a; 系统集合&#xff0c;连接起来&#xff0c;协议工作&#xff0c;资源共享 计算机网络主要是由一些通用的、可编程的硬件互连而成的&#xff0c;而这些硬件并非专门用来实现某一特定目的&#xff08;例如&#xff0…...

3.29 最小生成树算法

最小生成树概念 参考&#xff1a;什么是最小生成树&#xff1f; Minimum Spanning Tree 何为生成树&#xff1f; 生成树是指一个联通图的极小的连通子图&#xff0c;它包含了图中的所有n个顶点&#xff0c;并只有n-1条边&#xff08;构成一棵树&#xff09; 生成树的一些性…...

计算机科班与培训开发编程的区别在哪里?

科班、培训班、科班培训班的模式都培养了很多编程技术人员进入IT行业&#xff0c;有的成为某个技术领域的专家&#xff0c;有的成为领导层&#xff0c;有的一直在默默无闻的敲代码等待35岁的到来。不管那种方式入行&#xff0c;这些类似的情况都存在&#xff0c;并且未来还会一…...

idea设置常用自设置快捷键及坐标

<!--mybatis 依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency…...

Vue 3.0 实例方法

#$watch 参数&#xff1a;{string | Function} source{Function | Object} callback{Object} [options] {boolean} deep{boolean} immediate{string} flush返回&#xff1a;{Function} unwatch用法&#xff1a; 侦听组件实例上的响应式 property 或函数计算结果的变化。回调函数…...

日撸 Java 三百行day1-10

文章目录说明day1 环境搭建1.1 开发环境1.2 package import 和 println1.3 编写HelloWorld.javaday2 基本算术操作2.1 加、减、乘、除、整除、取余.day3 基本if 语句3.1 if条件分支语句3.2 代码day4 闰年的计算4.1 思路整理&#xff1a;何为闰年&#xff1f;4.2 核心代码day5 基…...

Ubuntu Instant-ngp 训练自有数据集

1. 运行环境配置 conda create -n instant-ngp python3.10 conda activate instant-ngp pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple2. COLMAP稀疏重建生成transform.json colmap 环境配置参考文档&#xff1b; 终端定位在instant-ngp/da…...

k8s集群只一台节点,重启节点后命名空间找不到了

定位 如果您的Kubernetes集群只有一台节点&#xff0c;并且在重启节点之前您创建了一些命名空间和资源&#xff0c;那么在节点重启后&#xff0c;这些命名空间和资源可能会丢失。这是因为在Kubernetes中&#xff0c;资源和命名空间通常是存储在etcd中的。当节点重启时&#xf…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...