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

《剑指offer》-前n项和不准用通解和各种判断

题目描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

这题目简直没事找事...为啥这么说,因为没有限制的话用等差数列求和公式直接算出结果,有限制的话是希望用递归的思想来做。但是明明有通式了还用递归做,又傻又费内存。

换个思路,先取log再e回去,这样避免了乘法。除法的话因为只需要除以2,那就用移位操作。

提交发现有小数的坑,需要+0.5再取整。

class Solution {
public:
    int Sum_Solution(int n) {
        //return n*(n+1)/2;
        return multi(n, n + 1) >> 1;
    }
    int multi(int a, int b){
        // we can guarantee that both a and b is positive integers
        int res = int(pow(10, log10(a) + log10(b))+0.5);
        return res;
    }
};

相关文章:

  • 内存映射文件原理探索(转载)
  • X-Frame-Options 响应头
  • Excel 总结
  • sklearn中随机森林的参数
  • CHIL-ORACLE-修改密码
  • itunes 无法构建版本问题
  • 继续过中等难度的题目
  • Spring Boot整合WebSocket介绍
  • [技术选型] Node.js
  • Spring cloud子项目
  • oracle 11gR2 ASM添加和删除磁盘
  • x-editable java 后台怎么写
  • java----数据结构与算法----集合元素的遍历:迭代器--------JavaAPI:java.util.Iterator+java.util.ListIterator...
  • Leetcode 423. Reconstruct Original Digits from English
  • JAVA加密类的使用
  • “大数据应用场景”之隔壁老王(连载四)
  • Android系统模拟器绘制实现概述
  • Angular Elements 及其运作原理
  • bearychat的java client
  • Elasticsearch 参考指南(升级前重新索引)
  • HTML-表单
  • JavaScript DOM 10 - 滚动
  • java小心机(3)| 浅析finalize()
  • Mysql数据库的条件查询语句
  • Python实现BT种子转化为磁力链接【实战】
  • React-flux杂记
  • Sass Day-01
  • Webpack 4 学习01(基础配置)
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 聊一聊前端的监控
  • 系统认识JavaScript正则表达式
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 想写好前端,先练好内功
  • Java数据解析之JSON
  • #android不同版本废弃api,新api。
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (floyd+补集) poj 3275
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (十六)Flask之蓝图
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)大型网站架构演变和知识体系
  • (转)项目管理杂谈-我所期望的新人
  • ./configure,make,make install的作用
  • .NET CLR基本术语
  • .net反编译工具
  • .net连接MySQL的方法
  • @RequestBody的使用
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [Android]通过PhoneLookup读取所有电话号码
  • [autojs]逍遥模拟器和vscode对接
  • [bzoj 3534][Sdoi2014] 重建