小逍☆遥吖 2019-07-20 18:45 采纳率: 0%
浏览 1738

角谷猜想 逆 对于一个整数n,如果n为偶数,则除以二,如果n为奇数,则乘三加一。

对于一个整数n,如果n为偶数,则除以二,如果n为奇数,则乘三加一。

输入输出格式
输入格式:
共一行,两个整数,m,n。

输出格式:
每行一个整数,输出所有经过n次操作(见题目描述)能得到m的正整数。(从小到大)

我的代码,望改正,或重制(不穷举)

#include<bits/stdc++.h>
using namespace std;
int m,n;
double po;
bool everr=false;
bool pd(double a)
{
    if(a-int(a)==0)return true;
    else return false;
}
bool jo(int a)
{
    if(a%2==0)return true;
    else return false;
}
void doo(double z,int sum)
{
    if(everr==false){sum=0;everr=true;}
    if(pd(z)&&z!=0&&sum==n)
        printf("%f\n",z);

    else if(pd(z)&&sum<n)
    {
        if(jo(z))
        {   
            if(pd(z/2))doo(z/2,sum+1);
            if(pd((z-1)/3))doo((z-1)/3,sum+1);
        } 
        if(!jo(z))
        if(pd(z*2))doo(z*2,sum+1);

    }
}
int main()
 {
    scanf("%d%d",&m,&n);
    if(m==1)po=pow(2,n);
     else if(m==0)return 0;
     else po=pow(m,n);
    doo(m,0);
    return 0;
 }

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决