블록체인 학습
0 XP

실습: 조건문과 반복문 종합

이번 종합 실습에서는 반복문과 조건문을 함께 사용합니다. 반복문으로 여러 값을 차례로 살펴보면서, 조건문으로 특정 조건에 맞는 값만 골라 세는 패턴은 실무에서 자주 등장합니다.

핵심 구조는 "for 로 순회하고, 그 안에서 if 로 걸러낸다" 입니다. 카운터 변수를 0 으로 초기화한 뒤, 반복할 때마다 조건을 검사해 참일 때만 카운터를 1 증가시키면 됩니다. 짝수 판별에는 나머지 연산자 % 를 사용합니다. i % 2 == 0 이면 짝수입니다.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
 
// 패턴 예시: 3의 배수 개수 세기
contract Pattern {
    function countMultiplesOfThree(uint256 n) public pure returns (uint256) {
        uint256 count = 0;
        for (uint256 i = 1; i <= n; i++) {
            if (i % 3 == 0) {   // 조건에 맞을 때만
                count++;        // 카운터 증가
            }
        }
        return count;
    }
}

해야 할 일:

  1. EvenCounter 컨트랙트 안에 countEven 함수를 구현하세요.
  2. countEven 은 uint256 n 을 입력받아 uint256 을 반환하는 public pure 함수입니다.
  3. 1 부터 n 까지 반복하면서, 각 수가 짝수(i % 2 == 0)인지 if 로 검사해 개수를 누적하세요.
    • 예: countEven(10) 은 5 (2,4,6,8,10)

for 반복문 안에 if 조건문을 넣어 짝수일 때만 카운터를 1 증가시키면 됩니다. n 이 커질수록 반복 횟수가 늘어 gas 비용도 함께 증가합니다.

Code Editor
에디터를 불러오는 중...
실행 결과

Run 버튼을 눌러 코드를 실행하세요.