[ create a new paste ] login | about

Link: http://codepad.org/csyM6H64    [ raw code | output | fork ]

C++, pasted on Feb 25:
#include<iostream>
using namespace std;

int main(){
	int sum = 0,sum2,count;

	// numを1から1ずつ足して、無限ループ
	for(int num = 1; ;num++){
		sum += num;

		// 偶奇判定
		// 偶数ならif文の中を通る
		if(~sum & 1){
			count = 0;
			sum2 = sum >> 1;

			// 3から(num-1)までの数で割っていく
			for(int idx = 3; idx < sum2; idx++){
				if(!(sum % idx)) {count++;}
			}

			// 「1」,「2」,「num/2」,「num」の4つの約数が既に分かっている。
			// だから501-4=497となり、
			// 497個以上の約数を持つ三角数が見つかればそれが答えとなる。
			if(count >= 497){
				cout << sum << endl;
				return 0;
			}
		}
	}
}


Output:
1
Timeout


Create a new paste based on this one


Comments: