예: 7의 배수인 10~50 사이의 값의 합을 구합니다. 특별한 보상이 있습니다
PHP를 배울 때 종종 문제에 직면합니다. 수선화가 무엇인지, 소수의 합이 무엇인지, 등등. . 오늘 웹사이트에서 이 질문을 봤습니다. 이 질문에 대한 답변은 기본적으로 다음과 같습니다.
<code>function newSumMultiple($min,$max,$multiple){ $sum = 0; for(;$min<$max;++$min){ if(!($min % $multiple)){ $sum += $min; } } return $sum; }</code>
오늘 문득 이런 생각이 들었습니다. 선생님께서 가르쳐 주실 때 항상 따라하셨는데 정말 할 말을 잃었습니다.
<code>function sumMultiple($min,$max,$multiple){ $remainder=$min % $multiple; if($remainder){ $remainder = $min + $remainder + 1; $min = $remainder; }else{ $remainder = $min; } $sum = 0; while(true){ $sum += $remainder; $min += $multiple; if($min >= $max){ break; } $remainder = $remainder + $multiple; } return $sum; }</code>
새로운 알고리즘을 찾으려면 코드를 첨부하는 것이 가장 좋습니다.
예: 7의 배수인 10~50 사이의 값의 합을 구합니다. 특별한 보상이 있습니다
PHP를 배울 때 종종 문제에 직면합니다. 수선화가 무엇인지, 소수의 합이 무엇인지, 등등. . 오늘 웹사이트에서 이 질문을 봤습니다. 이 질문에 대한 답변은 기본적으로 다음과 같습니다.
<code>function newSumMultiple($min,$max,$multiple){ $sum = 0; for(;$min<$max;++$min){ if(!($min % $multiple)){ $sum += $min; } } return $sum; }</code>
오늘 문득 이런 생각이 들었습니다. 선생님께서 가르쳐 주실 때 항상 따라하셨는데 정말 할 말을 잃었습니다.
<code>function sumMultiple($min,$max,$multiple){ $remainder=$min % $multiple; if($remainder){ $remainder = $min + $remainder + 1; $min = $remainder; }else{ $remainder = $min; } $sum = 0; while(true){ $sum += $remainder; $min += $multiple; if($min >= $max){ break; } $remainder = $remainder + $multiple; } return $sum; }</code>
새로운 알고리즘을 찾으려면 코드를 첨부하는 것이 가장 좋습니다.
최소값과 최대값을 사용하여 배수를 나누어 각각 상한과 하한을 구한 후 등차수열 합산식을 이용하세요