题意:1.遇到偶数直接除二。
2.遇到奇数,则乘三加一之后在除二。
基本算法:我感觉这个都不能称之为算法,直接循环强解。
代码(c++):
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
if (a > 1000)
return 0;
int i = 0;
for (i = 0; a != 1; i++)
{
if (a % 2 == 0)
a /= 2;
else
a = (3 * a + 1)/2;
}
cout << i;
return 0;
}
奇偶迭代算法解析
本文介绍了一种简单的迭代算法:对于任意正整数a,若为偶数则除以2;若为奇数则变为3a+1后再除以2。通过循环此过程直至a变为1为止,并记录迭代次数。
314

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



