프로그래밍 문제로 인해 30,000 개의 6 각형 숫자 (수식으로 표시됨 : H (n) = n (2n-1))를 확인해야합니다. 다음과 같이 나는 코드가 12숫자가 여러 다른 사람들에 의해 균등하게 나눠 졌는지 확인
까지의 숫자 1로 나눌 수 있습니다 :
는#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int hex, count = 0;
for (int n = 1; n <= 30000; n++)
{
hex = n * ((2 * n) - 1);
if (hex % 1 == 0 && hex % 2 == 0 && hex % 3 == 0 && hex % 4 == 0 && hex % 5 == 0 && hex % 6 == 0 && hex % 7 == 0 && hex % 8 == 0 && hex % 9 == 0 && hex % 10 == 0 && hex % 11 == 0 && hex % 12 == 0)
{
count++;
}
}
cout << count << endl;
}
지금 나는 바로 지금이 수표를 알고 내 문은 매우 비효율적이기 때문에이 있다면 궁금 된 경우 번호를 확인하는 더 쉬운 방법? for 루프를 사용해 보았지만 작동시키지 못했습니다 (한 번에 한 번만 확인). 어떤 아이디어?
힌트! 숫자 (12)에 의해 균등하게 분할하면 다음도 2,도 3,도 4 및도 6 – tkausl
으로 균등 분할 __must__는 (16 진수 % 2 '에 의해 육각 %'2 == 0'를 대체 할)'등 – VolAnd
'hex % 1 == 0' ??? 정말? '0 == 0'과 같은 것입니까? – VolAnd