从三角形序列中寻找除数
finding divisors from sequence of triangle
可能重复:
Project Euler问题12-C++
三角形数字的序列是通过将自然数相加而生成的。因此三角形数将是1+2+3+4+6+7=28。
前十个术语是:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
让我们列出前七个三角形数字的因素:
1: 1
3: 1,3
6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28
我们可以看到,28是第一个除数超过5的三角形。第一个除数超过一百的三角形?
您只复制了问题描述!你的问题是什么?你必须声明。
问题是"第一个除数超过一百的三角形是什么?">简单地迭代三角形,找出每个三角形有多少因子。当你发现一个因子>100时,你就完了。
for each whole number 'n' from 1 -> +INF
let tn = triangleNumber(n);
let nf = numFactors(tn);
if (nf > 100)
print tn " has " nf " factors.n";
return;
首先尝试自己动手。如果您无法得到答案,请理解此代码。试着去理解这个问题,然后试着自己去理解它。首先你必须检查,直到你的除数超过100,所以会有一个while循环。在里面,你必须创建三角形序列,即连续数字的和(1+2+3+4+5+6+7(。然后用计数器递增,求出和的除数。
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
int div=0,sum=0,num,i=1,chk=0,a;
cout<<"enter the number of divisors"<<endl;
cin>>a;
while(div<=a)
{div=0;
sum=sum+i;
for(int j=1;j<=sum;j++)
{if(sum%j==0)
div++;
}
chk++;
i++;
}
cout<<"Value of first triangle number value is "<<sum<<endl;
cout<<"Value of triangle number is "<<chk<<endl;
system("PAUSE");
return 0;
}
相关文章:
- QT在错误的班级中寻找空位
- 正在寻找C++不可变的hashset/hashmap
- 绘制旋转的三角形
- 如何用for循环在c++中生成单词三角形
- 如何使用递归打印修改后的星号三角形图案
- C++ 创建带有 for 循环的三角形
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Eigen c++ 三角形来自
- 为我的 c++ 类介绍制作一个三角形分类器.我有几个问题
- 寻找地理和伤害意味着超载
- 使用对象文件读取三角形数据网格
- 寻找一种更好的方法来表示无符号字符数组
- 从捕获的帧中裁剪三角形 - OpenCV 和 C++
- 我正在寻找一种优雅的方式来从元组向量创建tuple_element向量
- 寻找闰年的逻辑是如何运作的?
- 如何从 3D 曲面网格中删除自相交三角形?
- 以C++输出一个数字三角形
- 从三角形序列中寻找除数
- 在三角形矩阵中寻找位置