실습: 조건문과 반복문 종합
이번 종합 실습에서는 반복문과 조건문을 함께 사용합니다. 반복문으로 여러 값을 차례로 살펴보면서, 조건문으로 특정 조건에 맞는 값만 골라 세는 패턴은 실무에서 자주 등장합니다.
핵심 구조는 "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;
}
}해야 할 일:
EvenCounter컨트랙트 안에countEven함수를 구현하세요.countEven은uint256 n을 입력받아uint256을 반환하는public pure함수입니다.1부터n까지 반복하면서, 각 수가 짝수(i % 2 == 0)인지if로 검사해 개수를 누적하세요.- 예:
countEven(10)은5(2,4,6,8,10)
- 예:
for 반복문 안에 if 조건문을 넣어 짝수일 때만 카운터를 1 증가시키면 됩니다. n 이 커질수록
반복 횟수가 늘어 gas 비용도 함께 증가합니다.