Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >递归上的分割错误

递归上的分割错误
EN

Stack Overflow用户
提问于 2017-01-04 08:56:31
回答 1查看 207关注 0票数 0

我想要计算在Collatz序列中有一个数字的递归调用的数量。但是对于这样一个更大的数字,例如4565458458

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <cstdlib>
#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int f(int value){
    if(value==1) return 1;
    else if(value%2 == 0) return value/2;
    else return 3*value+1;
}

int g(int value){
   if(value == 0) return 0;
   if (f(value)==1) return 1;
   return 1 + g(f(value));
}

int main(int argc, char *argv[]){
    int nSteps=0;
    istringstream iss(argv[1]);
    int;
    if(!(iss >> num).fail()){
        if(num < 0) cout << "0" << endl;
        else{
            nSteps = g(num);
            cout << "Result: " << nSteps << endl;
        } 
    }
    else{
        cout << "Incorrect line paramaters: ./g n" << endl;
    }
    return 0;
}
EN

回答 1

Stack Overflow用户

发布于 2017-01-04 09:04:55

对于大型输入,您的程序将使用大量堆栈内存。

此外,f应该有相同的输入和输出类型(最初它有"unsigned long long“作为输入,int作为输出),否则结果将是错误的。

我建议您首先重写g而不使用递归,如果可行,请尝试研究如何使用尾递归来提高g的效率(当前变体可能不支持它)。

按照其他人的建议使用调试器也很好,特别是当它在调用“g”之前崩溃的时候。

最后,'num<0‘对于无符号的'num’没有意义。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41459744

复制
相关文章
node+express构建后端项目
项目启动后,在浏览器就可以访问了localhost:3000,访问成功会出现以下页面
程序员不务正业
2019/09/29
1.3K0
《Node.js+Express+Vue项目实战》-- 1.安装和使用Express(笔记)
Express 是一个精简、灵活的 Node.js 的 Web 应用程序开发框架,为 Web 和移动应用程序提供了一组强大的功能,使用 Express 可以快速地开发一个 Web 应用。
爱学习的程序媛
2022/04/07
4.3K0
《Node.js+Express+Vue项目实战》-- 1.安装和使用Express(笔记)
TypeScript在node项目中的实践
TypeScript可以理解为是JavaScript的一个超集,也就是说涵盖了所有JavaScript的功能,并在之上有着自己独特的语法。 最近的一个新项目开始了TS的踩坑之旅,现分享一些可以借鉴的套路给大家。
贾顺名
2019/12/09
1.7K0
TypeScript在node项目中的实践
使用 Node.js 和 Express.js 搭建简易 HTTP/2 服务器
自从 1975 年左右使用 TCP/IP 协议的现代互联网诞生至今已经过了惊人的41年了。在它生涯的大部分时间里,我们使用 HTTP 以及它的继任者 HTTP/1.1 (1.1 版本) 在客户端和服务器之间进行通讯。它很好的支撑起了这个网络世界,但是开发者们构建网站的方式发生了巨大的变化。现在有无数的外部资源、图片、CSS 文件和 JavaScript 文件。这些资源的数量只增不减。
疯狂的技术宅
2019/03/27
2.9K0
使用 Node.js 和 Express.js 搭建简易 HTTP/2 服务器
node.js + express 后端项目小坑
PROTOCOL_CONNECTION_LOST PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR
程序员不务正业
2020/02/18
1.5K0
node Express 框架
Express事实上Node内置的http模块上构建的一层抽象。理论上所有Express实现的功能都能用Node实现
mySoul
2018/07/29
5.3K0
Node.js 项目 TypeScript 改造指南
如果你有一个 Node.js 项目,并想使用 TypeScript 进行改造,那本文对你或许会有帮助。
五月君
2019/12/06
8.4K0
Node.js 项目 TypeScript 改造指南
Node.js项目TypeScript改造指南
如果你有一个 Node.js 项目,并想使用 TypeScript 进行改造,那本文对你或许会有帮助。
coder_koala
2019/12/05
4.6K0
使用Typescript开发node.js项目
typescript 通过构造函数的参数直接定义属性,为了证明,我们创建一个info.ts文件 内容如下
lilugirl
2019/05/28
2.6K0
Node.js项目TypeScript改造指南
如果你有一个 Node.js 项目,并想使用 TypeScript 进行改造,那本文对你或许会有帮助。
WecTeam
2019/12/24
4.4K0
如何运行github上面的node+express项目
在学习过程之中,除了看完教程之外,我们还需要完成一个重要的步骤,那就是做一个项目来巩固和联系,就像是学生时代那般,上完课是要找作业来练习加深印象是一个道理。
王小婷
2019/03/04
1.2K0
如何运行github上面的node+express项目
node框架express的研究
在node中,express可以说是node中的jQuery了,简单粗暴,容易上手,用过即会,那么我们来试一下怎么实现。下面我们基于4.16.2版本进行研究
lhyt
2022/09/21
9560
node框架express的研究
Node.js 项目 TypeScript 改造指南(二)
最近笔者把一个中等规模的 Koa2 项目迁移到 TypeScript,和大家分享一下 TypeScript 实践中的经验和技巧。
WecTeam
2019/12/26
3.6K0
Node | Express简单使用
express提供了一个非常好用的函数,叫做express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,例如,通过如下代码就可以将static目录下的图片、CSS文件、JavaScript 文件对外开放访问了:
倾盖
2022/08/16
1K0
Node | Express简单使用
Node.js + express 的使用
变化的路由 我们再访问服务器时描绘涉及到许许多多的路由,这是我们不可能将他们都一一列举出来,所以我们就可以用 ‘ :’ 来解决,如下:
圆号本昊
2021/09/24
2.7K0
Node + Express + Mysql的CMS小结
因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布。因为很久不写,重点说遇到的几个坑:
meteoric
2018/11/19
1.5K0
Vue.js + Node.js + Express + MySQL示例:构建全栈CRUD应用程序
上次修改时间:2020年10月16日 bezkoder Full Stack,Node.js,Vue.js
ccf19881030
2020/11/10
25.1K0
Vue.js + Node.js + Express + MySQL示例:构建全栈CRUD应用程序
express:node throwing error on mongodb
与此类似node throwing error on mongodb,一直报Db.open那里出错,查源代码,发现应该是有err参数传入,因为之前从来没接触过mongodb--在某些文章中看到稍微有些了解,觉得是不是没有安装mongodb的问题呢?试了一下,果然如此。
meteoric
2018/11/16
5390
Express,Sequelize和MySQL的Node.js Rest API示例
本文翻译自Node.js Rest APIs example with Express, Sequelize & MySQL
ccf19881030
2020/11/10
12.7K0
Express,Sequelize和MySQL的Node.js Rest API示例
一种不错的 BFF Microservice GraphQL/REST API 层的开发方式
云原生(Cloud Native)Node JS Express Reactive 微服务模板 (REST/GraphQL) 这个项目提供了完整的基于 Node JS / Typescript 的微服务模板,包括生产部署、监控、调试、日志记录、安全、CI/CD 所需的所有功能。还添加了基于响应性扩展的示例,以演示如何将其用于构建微服务 API 边缘服务(edge-service)、前端的后端(BFF)或将其用作构建任何类型微服务的基础。
为少
2021/05/27
2.4K0
一种不错的 BFF Microservice GraphQL/REST API 层的开发方式

相似问题

微软认可的带有node/express的TypeScript入门项目没有任何类吗?

10

设置node.js & express项目

115

TypeScript与现有Node js express项目的集成

112

为Node/Express/类型记录和Node设置一个项目

20

使用typescript项目设置node.js

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文