https://www.nowcoder.com/questionTerminal/5ee8df898312465a95553d82ad8898c3
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x0 = scanner.nextInt();
int count = 0;
while ( x0!=0 &&count < 300000){
x0 = (x0 * 2 + 1) % 1000000007;
count++;
}
int allSteps = helper(count);
System.out.println(allSteps < 100000 ? allSteps : -1);
}
private static int helper(int count) {
if (count % 3 == 0){
return count/3;
}
return count/3 + 1;
}
}
本文介绍了一个使用Java实现的循环与递归算法示例,通过输入一个整数,程序将进行特定的数学运算直到满足终止条件,并计算总的步骤数。如果步骤数小于100000,则输出该数;否则输出-1。此外,文章还提供了一个辅助函数用于处理计数的逻辑。
579

被折叠的 条评论
为什么被折叠?



