首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中如何在没有递归方法的情况下将给定的数归结为两位数?

在Java中如何在没有递归方法的情况下将给定的数归结为两位数?
EN

Stack Overflow用户
提问于 2018-07-29 02:27:07
回答 2查看 54关注 0票数 0

这就是我想要解决的问题。给定一个类似6928的数字:

difference between 6 and 9 is 3
difference between 9 and 2 is 7
difference between 2 and 8 is 6

因此,简化后的形式是376。由于这不是两位数,因此我们重复此过程:

difference between 3 and 7 is 4
difference between 7 and 6 is 1

结果是41,这是一个两位数的数字,以及解决方案!

这是使用递归方法的一种尝试,但我希望以一种非递归的方式来实现:

public static int twodigit(int value) {
    while (value > 99)
        value = reduce(value);
    return value;
}
private static int reduce(int value) {
    return (value<=9? 0:reduce(value/10)*10 + Math.abs(value/10%10-value%10));
}  
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51574108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档