Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 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 main()
- {
- /* counter */
- int cntr = 2;
- /* current triangle number */
- int ctn = 1;
- /* divisions number */
- int dn = 0;
- /* maximum divisor */
- int md;
- /* divisor */
- int d;
- while(1)
- {
- ctn = ctn + cntr;
- md = (int)sqrt((double)ctn);
- if(ctn % 2 == 0)
- {
- for(d = 1; d <= md; d++)
- if(ctn % d == 0)
- dn += 2;
- }
- else
- {
- for(d = 1; d <= md; d += 2)
- if(ctn % d == 0)
- dn += 2;
- }
- if(md == (int)ceil(sqrt((double)ctn)))
- dn--;
- if(dn > 500)
- break;
- dn = 0;
- cntr++;
- }
- printf("%d\n", ctn);
- return(0);
- }
- /* 76576500
- *
- * real 0m0,368s
- * user 0m0,368s
- * sys 0m0,000s */
Add Comment
Please, Sign In to add comment