1 条题解

  • 0
    @ 2025-10-30 17:14:06

    思路分析

    1. 任务拆解:

    • 读取整数n
    • 判断n是否为负数(负数不是3的幂)
    • 通过循环计算3的幂次,直到找到等于n或超过n
    • 根据结果输出YES或NO

    2. 关键点分析:

    • 3的幂必须是正整数
    • 使用循环计算3的各个幂次进行比较
    • 当计算值等于n时是3的幂,超过n时不是

    3. 步骤规划:

    • 读取n的值
    • 如果n是负数,直接输出NO
    • 初始化i=0,s=0
    • 循环计算3的幂次直到s≥n:
      • s = 3^i
      • i加1
    • 检查s是否等于n,输出相应结果

    4. 代码对应:

    • cin>>n; → 读取整数n
    • if(n<0) cout<<"NO"; return 0; → 处理负数情况
    • while(s<n) → 循环计算3的幂次
    • s=pow(3,i); i++; → 计算3的i次方并递增指数
    • if(s==n) cout<<"YES"; else cout<<"NO"; → 判断并输出结果
    • 1

    信息

    ID
    4139
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    (无)
    递交数
    60
    已通过
    29
    上传者