薛赤赤 2019-05-09 22:30 采纳率: 33.3%
浏览 227
已采纳

求大佬解答一下,这个怎么做,c,c++,Java都行

描述

输入一个整数n(0 <= n <= 1000),然后对n进行2个操作:

a. 不做操作。

b. 在n的右边加一个正整数 k,加上的 k 不能超过n最右边的数的一半。

之后得到的新数 new_n, 继续 a b 两步操作,直到得到的新数不能执行操作b为止。

输入
一个数n(0 <= n <= 1000)。

输出
输出满足条件的数的个数。

输入样例 1 输出样例 1

1 1


输入样例 2 输出样例 2

3 2

提示:对于样例1,只有 1,一个

     对于样例2,有 3,31,两个
  • 写回答

1条回答 默认 最新

  • 昨天和明天 2019-05-10 11:09
    关注
    //c语言:
    #include<stdio.h>
    void main()
    {
        int n,n_right;
        scanf("%d",&n);
        n_right=n%10;
        float a=n_right/2.0;
        int count=1;
        for(;a>=1;count++)
        {
            n=n*10+(int)a;
            n_right=n%10;
            a=n_right/2.0;
        }
        printf("%d",count);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助