关于#算法#的问题:请返回HTML格式的结果,并保留HTML中的图片链接,去掉任何与问题无关的描述

该问题来自社区帖: https://bbs.csdn.net/topics/616113148.为符合问答规范, 该问题经过ChatGPT优化

请优化以下问题:

有一个整数,将该数的最后一位移到第一位,然后新的整数变成原数的二倍,求该数。

请返回HTML格式的结果,并保留HTML中的图片链接,去掉任何与问题无关的描述。

下面是一个解题思路:首先判断该数是否小于10,如果是,直接废弃。如果不是,将原数的个位数移到最高位,再判断这个新数是否是原数的两倍。如果是,则返回该数。如果不是,则继续移位并检查,直到找到正确答案。

先当数学题做试试: 假定原数最低位为x(0<=x<=9),其他为y,y数字长度为z,有2(y10+x) =x10^z+y,展开得 19y=x*(10^z-1),所以只有10^z-1是19的倍数才满足条件,写个循环发现z=18+19k时可满足条件,然后依次计算即可,由于数据过大,因此要用大数乘除法
最小的满足条件的应该是52631578947368421*2 = 105263157894736842