数学题。速教

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:09:10
在电脑上输一个数。是偶数的话除以二。奇数的话加上三。这样运算三次的话。得数是27.问这个数是几?

取值可以为:102 105 216

#include <conio.h>
#include <stdio.h>

void main()
{
int i,j,num;

for(i=1;i<=1000;i++)
{
num=i;

for(j=0;j<3;j++)
{
if(num%2==0) num/=2;
else num+=3;
}

if(num==27) printf("%d ",i);
}

getch();
}

213,216

// Math.cpp
// Author: Michael Yao
#include <iostream>

using namespace std;
const int iMax = 27 * 8;

void main(void)
{
int iNum = 0;
for (iNum = 1; iNum <= iMax; iNum++)
{
int iT = iNum;
for (int i = 0; i < 3; i++)
{
if (0 == iT % 2)
{
iT /= 2;
}
else
{
iT += 3;
}
}
if (27 == iT)
{
cout << iNum
<< endl;
}
}
}
结果是102, 105, 216.
编译环境:VS2008

倒推:
一 27 肯定