저는 오늘 "코드 파트 2의 출현"을 해결하는 코드가 있습니다. https://adventofcode.com/중복 모듈 찾기/단순화
나는 현재 많은 모듈러스 조건을 하드 코딩 했으므로 조건 수를 줄이는 간단한 방법이 있습니까?
x % 2 == 0
을 이미 확인한 경우 일반적으로 x % 4 == 0
을 건너 뛸 수 있습니다. 그러나 추가 작업이있을 때 어떻게 단순화 할 것인지 생각해 내는데 어려움이 있습니다. 찾을 수있는 제안이나 자료가 있습니까?
if (delay % 6 == 0)
{
return false;
}
if ((delay +1) % 2 == 0)
{
return false;
}
if ((delay +2) % 4 == 0)
{
return false;
}
if ((delay + 4) % 6 == 0)
{
return false;
}
if ((delay + 6) % 14 == 0)
{
return false;
}
if ((delay + 8) % 8 == 0)
{
return false;
}
if ((delay + 10) % 14 == 0)
{
return false;
}
if ((delay + 12) % 10 == 0)
{
return false;
}
if ((delay + 14) % 10 == 0)
{
return false;
}
if ((delay + 16) % 14 == 0)
{
return false;
}
if ((delay + 18) % 10 == 0)
{
return false;
}
if ((delay + 20) % 10 == 0)
{
return false;
}
if ((delay + 22) % 22 == 0)
{
return false;
}
if ((delay + 24) % 22 == 0)
{
return false;
}
if ((delay + 26) % 18 == 0)
{
return false;
}
if ((delay + 28) % 14 == 0)
{
return false;
}
if ((delay + 32) % 14 == 0)
{
return false;
}
if ((delay + 36) % 16 == 0)
{
return false;
}
if ((delay + 40) % 14 == 0)
{
return false;
}
if ((delay + 44) % 32 == 0)
{
return false;
}
if ((delay + 50) % 18 == 0)
{
return false;
}
if ((delay + 56) % 26 == 0)
{
return false;
}
if ((delay + 58) % 26 == 0)
{
return false;
}
if ((delay + 60) % 26 == 0)
{
return false;
}
if ((delay + 62) % 22 == 0)
{
return false;
}
if ((delay + 64) % 26 == 0)
{
return false;
}
if ((delay + 66) % 26 == 0)
{
return false;
}
if ((delay + 68) % 26 == 0)
{
return false;
}
if ((delay + 70) % 26 == 0)
{
return false;
}
if ((delay + 74) % 26 == 0)
{
return false;
}
if ((delay + 76) % 26 == 0)
{
return false;
}
if ((delay + 80) % 26 == 0)
{
return false;
}
if ((delay + 88) % 26 == 0)
{
return false;
}
doSomeComputation...
정확히 무엇이 문제입니까, 숫자가 나눌 수 있는지 확인하십시오. – styx
'x % 2 == 0'을 넘길 때'x % 4 == 0'을 건너 뛸 수 없습니다. – Sefe
@Sefe OP가 의미하는 바는'x % 2 == 0'을 테스트하고 리턴하면 4로 나눌 수있는 것이 모두 2로 나눌 수 있기 때문에'x % 4 == 0'을 테스트 할 필요가 없다는 것입니다 – juharr