不用加减乘除怎么实现两个数相加?这种方法你想到了吗?

简介: 不用加减乘除怎么实现两个数相加?这种方法你想到了吗?

题目链接:不用加减乘除做加法_牛客题霸_牛客网 (nowcoder.com)



思路如下图:



参考代码:


int Add(int num1, int num2) 
{
    while (num2 != 0)
    {
        int tmp = (num1 & num2) << 1;
        num1 ^= num2;
        num2 = tmp;
    }
    return num1;
}
int main()
{
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    int ret = Add(a, b);
    printf("%d\n", ret);
    return 0;
}
相关文章
|
网络协议 算法 Java
万字长文 | 保姆级的后台服务器开发C++学习路线
这一篇的主题是「Linux C/C++ 服务器/后台开发学习路线」
|
C++ 索引
vscode clangd c++开发常见问题和解决方案
vscode clangd c++开发常见问题和解决方案
4196 0
|
设计模式 JavaScript Java
【设计模式】【创建型模式】原型模式(Prototype)
一、入门 什么是原型模式? 原型模式(Prototype Pattern)是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类。 原型模式的核心是克隆(Clone),即通过复制现有
289 15
|
9月前
|
存储 人工智能 Go
Go-Zero全流程实战即时通讯
Go-Zero 是一个功能丰富的微服务框架,适用于开发高性能的即时通讯应用。它具备中间件、工具库和代码生成器,简化开发流程。本文介绍其环境搭建、项目初始化及即时通讯功能实现,涵盖用户认证、消息收发和实时推送,帮助开发者快速上手。
513 0
|
7月前
|
监控 关系型数据库 MySQL
《理解MySQL数据库》连接管理与连接池深度解析
本文深入解析MySQL连接管理与Java连接池技术,涵盖数据库连接原理、服务端线程模型、主流连接池(HikariCP、Druid)对比及核心参数配置。重点介绍生产环境最佳实践,包括连接池选型、性能调优、监控告警与故障排查,助力构建高性能、高可用的数据库访问架构。
|
人工智能 网络协议 IDE
使用通义灵码AI高效学习muduo网络库开发指南
Muduo 是一个基于 C++11 的高性能网络库,支持多线程和事件驱动,适用于构建高效的服务器和应用程序。它提供 TCP/IP 协议支持、异步非阻塞 I/O、定时器、异步日志等功能,并具备跨平台特性。通过 Git 克隆 muduo 仓库并切换至 C++17 分支可开始使用。借助 AI 工具如 Deepseak-v3,用户可以更便捷地学习和理解 Muduo 的核心模块及编写测试用例,提升开发效率。
|
存储 机器学习/深度学习 人工智能
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
|
网络协议 Ubuntu Linux
VSCode使用Remote SSH远程连接Linux服务器【远程开发】
VSCode使用Remote SSH远程连接Linux服务器【远程开发】
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。

热门文章

最新文章