编程之美-只考加法的面试题

用对话框实现加减乘除 该工程是用VC6.0的MFC开发的对话框程序,运行后,点击工具栏上的“计算器”菜单,就可以进行加减乘除运算了。 立即下载

[问题]
我们知道:1+2=3;
               4+5=9;
              2+3+4=9;
等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式呢?
写一个程序,对于一个32位正整数,输出它所有的连续自然数之和的算式。

 

 

 

在网上搜了下,找到了下面的解法,问题被转换到"连续整数的固定和",实现代码如下:

#include <stdio.h>
#include <stdlib.h>
int   main(int argc,char** arg)
{
      int   left,right;                 //连续区间的左右边界
      int   sum;                        //当前的连续区间的数之和
      int   given;                      //需要分解的数
           
      given   =   atol(argv[1]);


      sum=0;

      left=right=1; 

   
      while(left <  given/2 + 1)            
      {  
             sum   +=   right;                                 //扩展右边界,求 [1, right] 的和
             while(sum   >   given)                        //如果sum(1,right) > given
             {
                  sum  -=   left;                                
                  left++;                                          //收缩左边界,减少sum
              } 


              if(sum   ==   given)                           //区间满足条件
                  printf( "/n%d - %d ",left,right);   

 

              right++;                                            //扩展右边界,进行一下个区间的探测


        } //end_of_while


}

 

时间复杂度为O(n/2)

Xilinx IP核 Block Memory Generator v8.4 的使用 本文主要介绍如何使用并初始化 Xilinx 提供的IP核 Block Memory Generator v8.4`,为了确保成功初始化,还对其进行了一个简单的仿真,更多细节请参考官方手册。 阅读详情

相关推荐

Python爬虫实战:5分钟搞定东方财富网股票数据抓取(附完整代码)

本文详细介绍了如何利用Python爬虫技术,快速抓取东方财富网的实时股票数据。通过逆向分析其JSONP数据接口,构建了包含请求处理、数据清洗、分页调度及多格式存储的完整自动化采集系统,并提供了应对反爬策略与生产部署的进阶优化思路,附有可直接运行的完整代码。

weixin_29084231的博客 874

《编程之美》学习笔记——2.21只考加法的面试题

一、问题 我们知道: 1 + 2 = 3; 4 + 5 = 9; 2 + 3 + 4 = 9; 等式两边都是两个以上的连续的自然数相加,那么是不是所有的整数都可以写成这样的形式呢?稍微考虑一下,我们发现,4、8等数并不能写成这样的形式。 问题1:写一个程序,对于一个64位正整数,输出它所有可能的连续自然数(两个以上)之和的算式。 问题分析: 输入:Sum(64位正整数),可转化为:

chensidney‘s blog 1030

BK7238(XH-WB3S)固件烧录实战:从AT固件选择到稳定下载全解析

本文详细解析了BK7238(XH-WB3S)模组固件烧录的全过程,从AT固件版本选择到稳定下载的实战技巧。重点介绍了烧录前的准备工作、硬件连接的正确姿势、烧录软件的实战技巧以及疑难问题排查指南,帮助开发者高效完成BK7238模组的固件烧录。

weixin_29159441的博客 248

编程之美2.21 只考加法的面试题

题目: 我们知道:1+2=3;              4+5=9;              2+3+4=9; 等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式呢? 问题1. 写一个程序,对于一个64位正整数,输出它所有可能的连续自然数(两个以上)之和的算式; 问题2. 有的数例如32就找不到这样的表达,这样的数字有什么规律? 问题3. 在

huahuahailang的专栏 4051

数据中心机房设备标签规范建议

机房的维护工作中,标识管理是极其重要的一部分,从基本的线缆上跳接信息的标识,到设备、机柜标识规范的实施,不同程度的体现了标识管理的重要作用。本规范适用于机房主设备、线缆、机柜(含PDU插排)、仪器仪表、动力配套设备(各类空调、消防设备、配电柜、UPS等设备)、网络口、电源插座口的标签、标识规定。动力设备的设备编号、设备名称、生产厂商及厂商技术支持热线、设备型号、设备序列号、设备使用部门、设备责任人、设备启用时间及设备保修年限、条形码。各类标签、标识可根据设备和机柜的尺寸、大小进行调整。

有地气的强弱电小圈子 3524

Mac上Office合法安装与激活全指南:2021/2024/M365区别解析

Office是微软办公套件的核心产品,其在macOS平台的部署逻辑与Windows截然不同——不依赖传统密钥激活,而是基于Microsoft账户与设备标识的云端绑定机制。理解这一原理,是解决‘无法验证开发者’‘打不开’‘功能受限’等常见问题的前提。Office 2021代表永久许可模型,Office 2024 LTSC面向企业离线场景,Microsoft 365则是持续订阅服务,三者在授权验证方式、更新策略与系统兼容性上存在本质差异。实际应用中,需结合macOS版本、芯片架构(Intel/Apple Sil

weixin_33491377的博客 1197

[原]编程之美2.21 只考加法的面试题

[原]编程之美2.21 只考加法的面试题 题目如下: -------------------------------------------------- 看了这么多题目,有人不禁会想,这些题目都太难了!有没有容易的?这里有一题,只用到加法,大家别嫌题...

anqing6281的博客 181

SAP VC 可配置物料超级BOM简介

在有些业务中比如:汽车、笔记本、电脑、电梯等产品中,其中组成产品的型号个框架是确认的 ,但是框架内部的BOM是可变的,在客户下销售订单的时候,选取对应的组件 ,让后通过MRP的计算优生产线对这样的销售订单提供生产。这个时候我们需要选择我们需要的内存和硬盘的型号,还记得我们前面创建的特征值对应的吗,A对应的8G、B对应16G、X对应1T硬盘、Y对应2T硬盘,这里我们填写对应的值,我们这里选择16G的内存和2T的硬盘,B和Y。3、当我们选择了可配置物料的生产模式时,基本上就选择了按单生产的生产模式了。

我小时候很黑的博客 1万+

编程之美 -- 只考虑加法的面试题,程序理解和分析

先考虑-- 只考虑加法的面试题

点滴在心 733

QT实现图片ROI区域的框选、移动、缩放(附完整源码)

QT实现图片ROI区域的框选、移动、缩放(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1192

LVGL v8学习笔记 | 09 - 进度条控件的使用方法(bar)

lv_bar_set_range必须放在lv_bar_set_mode前面,否则不生效。bar对象的API在lv_bar.h中声明,以lv_bar_xxx命名。此事件可以用来在进度条更新值之后更新别的控件(比如进度条旁边的文字)。可以看到,默认创建的进度条值是0到100。(3)设置进度条的范围值(最大值和最小值)(2)获取进度条的起始值。(3)获取进度条的最小值。(4)获取进度条的最大值。(1)设置进度条的当前值。(2)设置进度条的起始值。(1)获取进度条当前值。(5)获取进度条的模式。

Mculover666的博客(嵌入式) 1729

MoE大模型遇上FPGA:稀疏激活与硬件实现的工程实战

在人工智能与嵌入式系统深度融合的今天,大模型的推理部署不再局限于云端GPU,边缘端对低功耗、实时性和可重构计算的需求日益凸显。混合专家模型(Mixture of Experts, MoE)通过路由网络动态选择部分专家参与计算,实现了参数规模与计算量的解耦,为硬件加速提供了新思路。FPGA凭借其可重构的并行计算架构、灵活的接口能力和稳定的实时响应,成为承接MoE稀疏激活模式的理想平台。文章从MoE原理出发,剖析路由器、专家容量与负载均衡机制,并结合FPGA的DDR带宽优化、专家调度、INT8量化等关键技术,探

weixin_34234721的博客 309

YOLOv8 PCB缺陷检测系统全流程实战:从开发到UI展示详解

毕设路上难免有波折,但只要跟着这个教程把“数据集处理、模型训练、UI开发”每一步都落实,你就已经超越了大多数同学。这个“PCB缺陷检测系统”既有技术深度(YOLOv8是工业级主流算法),又有工程价值(解决电子制造的实际痛点),还具备出色的可视化展示——这样的毕设,拿高分是水到渠成的事。

FJN110的博客 214

编程之美-只考加法的面试题整理

GarfieldEr007的专栏 1218

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

编程之美--只考加法的面试题

看见题目的第一反应是DP,可以使用之前的值来计算,递推公式如下:f(n) = f(n-i)+i再增加适当的剪枝即可实现,但是对于64位的整数,肯定没有足够的存储空间,放弃。考虑之后对公式进行了推导:num = Σi(bg上式中的bg和end分别为求和公式中起始的位置和结束的位置,均为闭区间。令sub = end-bg+1,add = bg+end则上述等式转换为num=sub*add/2,原命题也就转换为求解合适的区间问题。得到了这个公式之后,再进行求解就会容易很多。再考虑到sub不能大于add等信息,可以

hitrose27的专栏 1713

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

《编程之美》2.21 只考加法的面试题

注:leoyonn原创,请注明出处 http://hi.baidu.com/leoyonn  问题1. 写一个程序,对于一个64位正整数,输出它所有可能的连续自然数(两个以上)之和的算式; 问题2. 例如32就找不到这样的表达,这样的数字有什么规律? 问题3. 在64位正整数中,子序列数目最多的是哪一个?能否用数学知识推导出来? ------------------------

8807

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

《编程之美》读书笔记:“只考加法的面试题” (2.21节)

作者:haykey(原博客地址:http://blog.youkuaiyun.com/haykey/archive/2008/10/29/3175373.aspx) 最近时日,从dangdang买了本MARA众高人写的《编程之美》,里面有这么一道题,其中并没有给出问题的解答。一时兴起,就在电脑前动了动手,特献丑与此。BTW,《编程之美》应该是每一位热爱编程技术的IT从业人员桌案边必备的好书。当我还在沉

959

编程之美---只考加法的面试题

问题1. 写一个程序,对于一个64位正整数,输出它所有可能的连续自然数(两个以上)之和的算式; 问题2. 例如32就找不到这样的表达,这样的数字有什么规律? 问题3. 在64位正整数中,子序列数目最多的是哪一个?能否用数学知识推导出来? 问题一解法: package com.jtlyuan.plus; /* *思路:  * 求解从m+(m+1)+...+n=sum;  * 所以我们

906

编程之美--只考加法的面试题(尺取法)

问题: 对于一个任意的自然数,问是否能将其拆分成2个或2个以上的连续自然数之和,写出所有的等式。 解题思路: 第一种解法是推导出数学公式,因为连续的自然数可以用等差数列Sn求和公式,判断可行性。公式推导以及证明过程:数学解法; 第二种解法是直接穷举解法,不过对于较大的数字复杂度O(n^2)可能不够解决,由于连续的自然数一定是递增状态,我们可以用尺取法,也就是双指针法将复杂度降低到O(n) 双指针解...

小胡同的诗 313

编程之美:2.21只考加法的面试题

《编程之美》 2.21只考加法的面试题   我们知道: 1+2 = 3; 4+5 = 9; 2+3+4 = 9。 等式的左边都是两个或两个以上连续的自然数相加,是不是所有的整数都可以写成这样的形式呢? 问题1:  对于一个64位正整数,输出它所有可能的连续自然数(两个以上)之和的算式。 问题2:  大家在测试上面程序的过程中,肯定会注意到有一些数字不能表达为一系列连续的自然数 之...

weixin_33936401的博客 125

只考加法的面试题(编程之美)

For example:

Jiajun Zhu 550

【编程之美】2.21 只考加法的面试题

就是输入一个数n, 输出它可以用连续的数表示的加法。 如: 输入9 输出 9=4+5        9=2+3+4   代码: 我不会64位无符号正整数表示,就写个简单的int版本的好了... 思路就是 如果sum = a + (a+1) + (a+2)...+(a+n-1) 对于给定的n, a=(sum-n(n-1)/2)/n 若a为整数就成立,输出 n的范围,最小是2, 最大...

weixin_34143774的博客 93
上一篇: 签约及违约
下一篇: 近期笔试题回顾
zzulp
博客等级 码龄19年 464粉丝 176原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值