- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我尝试找出这个问题的解决方案,但我的程序表现得很奇怪。
#include <iostream>
using namespace std;
int triangle_numbers(int n, int meh = 0)
{
int count = 0;
//calculate how many divisors there are for meh
for(int i = 1; i <= meh; i++)
if(meh%i == 0)
count++;
//if the number of divisors for meh is over 500, return meh
if(count > 500)
return meh;
//recursive call to increment n by 1 and set meh to the next triangle number
triangle_numbers(n+1, meh += n);
}
int main()
{
int cc = triangle_numbers(1);
cout << cc << endl;
}
如果我单独输出 meh
和 count
我会得到准确的结果,所以我不确定为什么我的程序会给我相同的数字 (4246934),即使我做,比方说,if(count > 10)
。我觉得这可能与我的递归调用有关,但到目前为止我尝试过的一切都没有奏效。有帮助吗?
最佳答案
您缺少完成递归所需的最终 return
语句(编译器不会警告 triangle_numbers
实际上并非在所有情况下都返回某些内容吗?)。
一旦 meh
的最终值被计算出来,您需要有
return triangle_numbers(n+1, meh += n);
这样 meh
就可以一直返回到调用堆栈,最后返回到 main
。
您现在看到的数字可能是递归结束后留在堆栈中的值。
旁注:此算法中的经典优化是让 i
迭代到 meh/2
但不再进一步。显然,大于 meh
一半的数字不能均分,因此可以跳过。
关于c++ - #12 欧拉计划 : Find the first triangle number with over 500 divisors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11995994/
我有以下三 Angular 形 由以下 css 创建: .triangle { width: 0; height: 0; border-left: 5px solid tran
在(不久前)阅读索引索引的三角形列表后,由于需要较少的绘制调用,因此我决定在三角形列表上构建我的引擎。今天,我偶然发现了0xffffffff,在DX中该值被认为是 strip 切割索引,因此您可以在一
该类包含: 三个 double 数据字段,分别命名为 side1、side2 和 side3,具有默认值1.0 表示三角形的三边 无参数构造函数,用于创建具有指定 side1、side2 和 side
我一直在尝试用 C 语言解决 HackerRank 网站中的“小三角形,大三角形”问题,这是一种排序数组问题,我使用了选择排序算法。我的代码似乎可以工作,但它仅适用于某些测试用例。这是任务: You
我需要打印一个三角形及其倒三角形(站在其尖端)。我设法只打印出三角形。我知道我可以轻松使用 for 循环,但我想知道如何使用递归,就我而言,我不知道如何打印三角形和倒三角形。谢谢。 Example d
如果使用函数 triangular_mesh 可以传递一组三角形,以索引列表、顶点位置和一组数据的形式给出,以将颜色分配给顶点。然后通过顶点颜色之间的插值对三角形着色。 如何在不进行任何插值的情况下按
我正在实现 Wikipedia 中介绍的 Bowyer-Watson 算法.在我的实现中,一切都如我所料,直到伪代码的最后一部分: for each triangle in triangulation
题目地址 https://leetcode.com/problems/triangle/description/ 题目描述: Given a triangle, find the minimum
我想知道是否有一些教程或指南来理解和实现 3D 环境中的三角形-三角形相交测试。 (我不需要知道交叉点发生的确切位置,但只需要知道交叉点已经发生) 我打算按照理论 pdf 来实现它,但我很困在 计算三
我制作了一个程序来制作帕斯卡三角形并输入数字(行)> 5,存在对齐问题,即 ncr > 10。请帮帮我。我已经包含了程序输出的图像。 Output Image #include int factori
由于很难解释,我将向您展示我假装的图像。 问题不在于“三 Angular 形”,而在于要在三 Angular 形生成的“空间”中显示的图像背景。 最佳答案 这是我的方法,如何处理这个任务。我将伪元素
题目地址:https://leetcode.com/problems/pascals-triangle/open in new window Total Accepted: 83023 Total
如何使用 Triangle.NET 对具有如下所示孔的多边形进行三角剖分? 我需要由三角形覆盖的绿色区域。我想我需要在触摸点上分割外部轮廓的右侧部分,但之后我不知道是否需要将两个轮廓合并为一个(在黑色
我在碰撞检测代码中使用的代码是这样的: (注意:Vector3f 是 LWJGL 库的一部分。) (注2:Tri是由LWJGL的Vector3fs.v1、v2、v3三个组成的类。) public Ve
有一个三角网格生成器(Shewchuk,CMU), "Triangle" ,由于其重量轻而受到人们的推荐。它是用 C 编写的。但是我无法在我的 VS2012 C++ 项目中使用它。我正在使用 x64
我应该编写的程序应该按以下方式打印三角形: 如果行数为2: * *** 如果行数为3: * * * ***** 但是,我所做的以下代码打印了最后一行的
(我在这里搜索并通读了钻石和虚拟继承问题,但找不到答案。我的想法是这种情况有点不寻常,我愿意考虑我的要求有点关闭。另一方面,我认为这应该以一种“不错”的方式实现。) 情况及要求: 我有一个 C++ 类
我构建 HTML/CSS/JS 菜单并希望将箭头向右对齐以指向该元素是子菜单。 我的问题是在 Firefox 中三 Angular 形(“▶”符号)显示在下一行而不是当前行... Chromium 在
我正在创建一个 OpenGL 程序,它只是创建一个三角形并将其绘制在屏幕上。我创建了一个名为 Drawable 的类,其中包含绘制函数以及使用的 VAO 和 VBO 对象。我还创建了一个继承自 Dra
我正在尝试使用嵌套循环打印下面的图片(我应该使用 for 和 while 循环): ** **** ****** ******** 以 5 个空格开头,每行减少 2 个空格。从 2
我是一名优秀的程序员,十分优秀!