Highly divisible triangular number( Problem 12)

The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

Let us list the factors of the first seven triangle numbers:

 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

We can see that 28 is the first triangle number to have over five divisors.

What is the value of the first triangle number to have over five hundred divisors?

查找能除尽的数的个数,递增至开方 每能除尽一个既有相对应的一个大的 所以为一对 ,能被开方时重复加了一个  。

#include <stdio.h>
#include <math.h>
int divisor(int a)
{
    int i;
    int num=0;
    for(i=1;i<=sqrt(a);i++)
    {
        if(0 == a%i)
            num+=2;
        if(i*i == a)
            num--;
    }
    return num;
}
int main()
{
    int i=1;
    int num=0;
    while(num<=500)
    {
        i++;
        num = divisor(i*(i+1)/2);
    }
    printf("%d\n",i*(i+1)/2);
    return 0;
}

  

时间: 2024-10-30 01:10:22

Highly divisible triangular number( Problem 12)的相关文章

Highly divisible triangular number

我的那个暴力求解,太耗时间了. 用了网上产的什么因式分解,质因数之类的.确实快!还是数学基础不行,只能知道大约. The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be: 1, 3, 6, 10, 15, 2

D - Harmonic Number——(LightOJ 1234)

传送门 password: nefu Description In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: Il this problem, you are given n, you have to find Hn. Input Input starts with an integer T (≤ 10000), denoting the n

《从零开始学Swift》学习笔记(Day 12)——说几个特殊运算符

   原创文章,欢迎转载.转载请注明:关东升的博客     除了一些常用的运算符,还有一些其他的: •      引用号(.):实例调用属性.方法等操作符. •      问号(?):用来声明可选类型. •      感叹号(!):对可选类型值进行强制拆封. •      箭头(->):说明函数或方法返回值类型. •      冒号运算符(:):用于字典集合分割"键值"对. --   欢迎关注关东升新浪微博@tony_关东升. 关注智捷课堂微信公共平台,了解最新技术文章.图书

冒号和他的学生们(连载12)——情景范式

12.情景范式 理论是认生的孩童,多陪他玩玩,自会活泼起来 --题记 叹号摘下眼镜,揉了揉眼:"范式再好,多了也难免有些审美疲劳." 逗号也搓着太阳穴:"现在脑子被灌得沉甸甸的." "彼此彼此!你们的脑袋闹涝灾,我的喉咙闹旱灾."冒号说着,拿起矿泉水瓶一饮而尽. 大伙听着怪别扭的,这不是拐着弯说我们脑子进水了吗? 冒号清了清嗓子:"为尊重民意,也为避免消化不良,大家先放松一下.下面我们来个情景编程." "情景编程?没

ASP 3.0高级编程(三十三)

编程|高级 7.4.2 VBScript错误处理在VBScript中,可以使脚本解释器不处理其找到的任何错误,并且使用On Error Resume Next语句继续运行下个语句.一旦这个语句已被处理,脚本引擎将继续运行后面的程序,而不理会已经发现的任何错误.然而,这种过程仅适用于顺序执行语句的环境,换句话说,不适用于嵌套的函数或子程序.1. 使用On Error Resume Next语句一个错误在子程序中出现时,如果没有运行On Error Resume Next语句,那么错误将被交给调用它

简单WEB开发规范(修正版)

web|规范|开发规范|开发规范 一.页面设计部分1.img控件 alt:所有展示类图片都要具有能简要描述图片内容的文字说明.2.Input控件 maxlength:所有INPUT控件都需要制定maxlength属性,默认值为数据库中对应的字段的长度. readonly:所有不可更改的信息都要使用readonly属性.3.Form控件 action:所有Form都要指定action,如果提交给本身就指定action="" method:执行不可逆动作使用POST,可逆动作使用GET o

C++“窗口”程序设计启蒙(之二)

[摘要]本文适合已经完整学习了C++面向对象机制,但在开发窗口程序方面还是零基础的同学.通过本文的引导进行实践体验,目的是消除同学们开发窗口程序的神秘感,为下一步的自学找到感觉.同时,能更深入地体会到编程基本功的根源所在,在今后能自觉地学好专业基础课,而不是只浮躁地追求开发平台和表面的技能.文章最后给出进一步实践的建议. [相关博文]C++"窗口"程序设计启蒙(之一),,我的学生刘畅的报告点击打开链接,对初用VC++6.0,以及对英文界面怕怕的童鞋,有参考价值:邵帅和辛彬自主尝试了在V

《指针的编程艺术(第二版)》一3.4 为什么parr等同于 *parr?

3.4 为什么parr等同于 *parr? 指针的编程艺术(第二版) 因为一个指针相当于一维数组,所以可将上述的数组指针 char *parr[4] = {"Department", "of", "Information", "Management"}; 改为以二维数组的方法表示,如下语句所示. char parr[4][12] = {"Department", "of", "

与众不同 windows phone (12) - Background Task(后台任务)之 PeriodicTask(周期任务)和 ResourceIntensiveTask(资源密集型任务)

原文:与众不同 windows phone (12) - Background Task(后台任务)之 PeriodicTask(周期任务)和 ResourceIntensiveTask(资源密集型任务) [索引页][源码下载] 与众不同 windows phone (12) - Background Task(后台任务)之 PeriodicTask(周期任务)和 ResourceIntensiveTask(资源密集型任务) 作者:webabcd 介绍与众不同 windows phone 7.5