27 lines
704 B
Solidity
27 lines
704 B
Solidity
|
// SPDX-License-Identifier: MIT
|
||
|
pragma solidity ^0.8.17;
|
||
|
|
||
|
contract Recursive {
|
||
|
event RecursiveCallEvent(uint256 count);
|
||
|
|
||
|
function recursive10() public returns (uint256){
|
||
|
return recursiveCall(10);
|
||
|
}
|
||
|
function recursive2() public returns (uint256){
|
||
|
return recursiveCall(2);
|
||
|
}
|
||
|
function recursive1() public returns (uint256){
|
||
|
return recursiveCall(1);
|
||
|
}
|
||
|
function recursive0() public returns (uint256){
|
||
|
return recursiveCall(0);
|
||
|
}
|
||
|
function recursiveCall(uint256 count) public returns (uint256) {
|
||
|
if (count > 0) {
|
||
|
emit RecursiveCallEvent(count);
|
||
|
return recursiveCall(count-1);
|
||
|
}
|
||
|
return count;
|
||
|
}
|
||
|
}
|