【正经题解】3n±1 easy vers
2024-03-18 14:31:52
发布于:浙江
10阅读
0回复
0点赞
这段代码计算对给定整数 n 进行一系列操作,使其变为 1 所需的最少操作次数。
#include<bits/stdc++.h>
using namespace std;
int main() {
int cnt = 0; // 记录操作次数
long long n; // 输入的整数
cin >> n;
// 当 n 大于等于 3 时,进行操作
while (n >= 3) {
cnt++; // 操作次数加1
int m = n % 3; // 计算 n 对 3 取余数
if (m == 0) n /= 3; // 若余数为 0,则除以 3
else if (m == 1) n -= 1; // 若余数为 1,则减去 1
else n += 1; // 若余数为 2,则加上 1
}
// 输出最终的操作次数
if (n == 1) cout << cnt;
else cout << cnt + 1;
return 0;
}
这里空空如也
有帮助,赞一个