每日练习-8

news2024/9/27 19:15:10

目录

一、选择题

二、算法题

1.另类加法

2、走方格的方案数


一、选择题

1、

解析:当使用new运算符创建一个类的对象数组时,会调用该类的构造函数来初始化每个对象。因此,如果创建了5个对象,那么构造函数会被调用5次。
当使用delete运算符删除一个指针时,会调用该指针指向的对象的析构函数来释放内存。但是,如果该指针指向的是一个对象数组,那么必须使用delete[]运算符来删除整个数组,否则只会删除数组的第一个元素。因此,如果使用delete来删除一个对象数组,那么析构函数只会被调用1次,而剩下的4个对象会造成内存泄漏。答案为c

2、

解析:每个非静态的成员函数都有一个隐藏的this指针,所以排除A,B
这里用前置++和后置++来举例如何重载,
重载前置++:Date& operator++(),重载后置++:Date operator++(int),答案为C。

3、

解析:静态数据成员是类的成员变量,被声明为static关键字。它们与类的对象无关,而是与类本身相关联。静态数据成员在内存中只有一份副本,被类的所有对象共享。静态数据成员不能在类内初始化,而要在类外通过使用范围解析运算符::来重新声明静态变量从而对它进行初始化。但是如果加了const可以在类内初始化。静态数据成员可以受private修饰符的作用,也就是说它们可以被设置为私有的或公有的。静态数据成员可以通过类来直接调用,也可以通过对象来调用,但是一般都是通过类来调用,因为它们不需要当前对象的地址。

4、

解析:答案为B,这样做的原理是,当一个类对象在栈上创建时,编译器会自动调用其析构函数来释放内存。如果析构函数是私有的,那么编译器就无法访问它,也就无法在栈上创建对象。因此,只能通过new运算符在堆上创建对象,并且需要提供一个公有的成员函数来调用析构函数释放内存。

二、算法题

1.另类加法

题目解析:要实现不使用+或其他算数运算符的加法,我们可以利用位运算的原理。

假设A=0101,B=0011,我们用异或运算来计算A和B的不进位相加结果,即A ^ B = 0110,这个结果就是A和B的每一位相加后的结果,但是忽略了进位。

我们用与运算以及移位运算来计算A和B的进位结果,即A &B<<1 = 0010,这个结果就是A和B的每一位相加后产生的进位。

递归以上的运算,直到有一方为0,不为0的就是结果。

代码:
 

class UnusualAdd {
  public:
    int addAB(int A, int B) {
        int a = A;
        int b = B;
        if (A == 0) 
        {
            return B;
        } 
        else if (B == 0) 
        {
            return A;
        } 
        else 
        {
            a = A ^ B;
            b = (B & A) << 1;
            return addAB(a, b);
        }
     
    }
};

2、走方格的方案数

题目解析:首先判断nm的值是否为零,如果都为零,说明已经到达了右下角,返回步数为零。如果只有n为零,说明只能向右走,返回步数为一;如果只有m为零,说明只能向下走,返回步数为一;如果都不为零,说明可以向右或向下走,那么返回两种情况的步数之和。

代码:

#include <iostream>
#include <linux/limits.h>
#include<vector>
using namespace std;

int getStep(int n, int m) 
{
    
   if(n==0&&m==0)
   {
    return 0;
   }
   else if(n==0&&m!=0)
   {
    return 1;
   }
   else if(n!=0&&m==0)
   {
    return 1;
   }
   else return getStep(n-1,m)+getStep(n,m-1);

}

int main() {
    int n, m;
    while (cin >> n >> m) {
        cout << getStep(n, m) << endl;

    }
}

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

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

相关文章

[2023.09.20]:Yew的前端开发经历小结

今天基本上完成了一个操作闭环&#xff0c;即能够保存&#xff0c;拉取和删除数据。截个图 这个过程的前端和后端都是用Rust写的&#xff0c;前端使用的是Yew。 Yew是一种用于构建现代Web应用程序的Rust框架&#xff0c;其计目标是提供一种安全、高效、易用的方式来构建Web应…

智慧公厕:改变公共厕所管理与运营的未来

在现代社会中&#xff0c;公共厕所是城市建设的重要组成部分。然而&#xff0c;长期以来&#xff0c;公共厕所管理与运营一直是一个令人头疼的问题。由于各种原因&#xff0c;公共厕所常常陷入管理难、环境差、设备设施陈旧的状态&#xff0c;给人们的生活带来困扰。然而&#…

【性能优化下】组织结构同步优化二,全量同步/增量同步,断点续传实现方式

看到这一篇文章的 xdm &#xff0c;应该对组织结构同步有一些想法了吧&#xff0c;如果没有&#xff0c;可以看前面两篇文章&#xff0c;可以通过如下地址查看一下&#xff1a; 【性能优化上】第三方组织结构同步优化一&#xff0c;你 get 到了吗&#xff1f; 坑爹&#xff0c…

Java中synchronized:特性、使用、锁机制与策略简析

目录 synchronized的特性互斥性可见性可重入性 synchronized的使用方法synchronized的锁机制常见锁策略乐观锁与悲观锁重量级锁与轻量级锁公平锁与非公平锁可重入锁与不可重入锁自旋锁读写锁 synchronized的特性 互斥性 synchronized确保同一时间只有一个线程可以进入同步块或…

函数扩展之——内存函数

前言&#xff1a;小伙伴们又见面啦。 本篇文章&#xff0c;我们将讲解C语言中比较重要且常用的内存函数&#xff0c;并尝试模拟实现它们的功能。 让我们一起来学习叭。 目录 一.什么是内存函数 二.内存函数有哪些 1.memcpy &#xff08;1&#xff09;库函数memcpy &…

交换机端口镜像详解

交换机端口镜像是一种网络监控技术&#xff0c;它允许将一个或多个交换机端口的网络流量复制并重定向到另一个端口上&#xff0c;以便进行流量监测、分析和记录。通过端口镜像&#xff0c;管理员可以实时查看特定端口上的流量&#xff0c;以进行网络故障排查、安全审计和性能优…

已解决 Microservice Error: Circuit Breaker: Service is temporarily unavailable

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…

【操作系统】聊聊磁盘IO是如何工作的

磁盘 机械磁盘 主要是由盘片和读写磁头组成。数据存储在盘片的的环状磁道上&#xff0c;读写数据前需要移动磁头&#xff0c;先找到对应的磁道&#xff0c;然后才可以访问数据。 如果数据都在同一磁道上&#xff0c;不需要在进行切换磁道&#xff0c;这就是连续IO&#xff0c;可…

离散数学之 一阶逻辑等值演算与推理

一阶逻辑等值式与置换规则 基本等值式 这里用到了量词辖域的收缩 未完待续

电工三级证(高级)实战项目:PLC控制步进电机正反转

实训目的 了解使用PLC代替传统继电器控制回路的方法及编程技巧&#xff0c;理解并掌握步进电动机的运行方式及其实现方法。通过实验进一步加深理解步进电机控制的特点以及在实际中的应用。 控制要求 PLC设备:Siemens S7-200 要求:打开开关K0(I0.0)得电&#xff0c;启动PLC程…

【xshell和xftp连接Ubuntu教程】

一、下载xshell和xftp 下载地址 https://www.xshell.com/zh/free-for-home-school/ 二、连接xshell 输入ip&#xff0c;端口号 输入用户名&#xff0c;密码 出现这个使用就行了 三、连接xftp 同上&#xff0c;输入ip&#xff0c;端口&#xff0c;用户名&#xff0c;密码 连接成…

拓扑关系如何管理?

在设备对接涂鸦的云端过程中&#xff0c;一部分设备由于自身资源或硬件配置&#xff0c;无法直接连接云端。而是需要通过网关进行中转&#xff0c;由网关代理实现和云端进行数据交互&#xff0c;间接实现设备接入云端。这样的设备也称为子设备。 要想实现网关代理子设备接入云…

C++跳坑记:位移超出范围的处理

在C编程中&#xff0c;数据类型的选择不仅影响内存占用和性能&#xff0c;还可以对某些操作的结果产生意想不到的影响。今天&#xff0c;我将分享一个关于C在不同变量类型下位移操作结果的发现。 位移操作是C中常见的对整数的高效操作之一。然而&#xff0c;我们可能会忽视一个…

单播与多播mac地址

MAC 地址&#xff08;Media Access Control Address&#xff09;是一个用于识别网络设备的唯一标识符。每个网络设备都有一个独特的 MAC 地址&#xff0c;用于在局域网中进行通信。 单播MAC地址&#xff1a;单播MAC地址用于单播通信&#xff0c;即一对一的通信模式。当设备发送…

day4_QT

day4_QT qt绘制钟表 qt绘制钟表 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->resize(1000,1000);this->setStyleSheet("background-color:…

Word中对象方法(Methods)的理解及示例(下)

【分享成果&#xff0c;随喜正能量】当你的见识多了&#xff0c;眼界宽了&#xff0c;格局大了&#xff0c;所有的磨难都将不再是磨难&#xff0c;而是助你成长的阶梯。 。 《VBA之Word应用》&#xff08;10178982&#xff09;&#xff0c;是我推出第八套教程&#xff0c;教程…

pnpm入门教程

一、概述 1、更小 使用 npm 时&#xff0c;依赖每次被不同的项目使用&#xff0c;都会重复安装一次。 而在使用 pnpm 时&#xff0c;依赖会被存储在内容可寻址的存储中。 2、更快 依赖解析。 仓库中没有的依赖都被识别并获取到仓库。目录结构计算。 node_modules 目录结构是…

编程(47)----------Spring AOP

AOP是Spring中, 个人认为较为抽象的一个思想. 一般来说, 学习一个新东西, 第一件事是先看看这个知识点的定义是什么. 同时要注意, 同一事物的定义可以有很多, 毕竟定义没有绝对的对与错, 只有准确与否. 而初次接触AOP的定义, 第一感觉可能就是抽象, 或者说看不懂, 这里面也有…

刷题日记——将x减到0的最小操作数

将x减到0的最小操作数 题目链接&#xff1a;https://leetcode.cn/problems/minimum-operations-to-reduce-x-to-zero/ 题目解读 题目要求移除元素总和等于参数x&#xff0c;这道题给我的第一感觉就是从数组的两边入手&#xff0c;对数据进行加和删除&#xff0c;但是这里有一…

SVN状态图标不显示

问题可能点1&#xff1a;图标覆盖 1、右键找到设置 2、找到图标覆盖 3、重启TortoiseSVN 问题可能点2&#xff1a;注册表图标顺序太靠下&#xff0c;被占用 1、windowsr, 输入regedit进入注册表 2、找到一下目录 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Cu…