20190707日记

Java考试没做出来的题。。。。惭愧orz

轻敌了最近也没做题手生了,考完试一定要好好学,加油

参考了大佬的代码,简单的点在于得到逆序数的过程,熟了才会记起来这种做法 

import java.util.Scanner;
/*
回文数:
输入一个数,判断他是不是回文数,如果不是回文数就倒叙相加,
如果重复十次还不是回文数,输出not,当变成回文数时候,输出回文数。
样例1:
153
//351
//504
//405
909
样例2:
68
//86
//154
//451
//605
//506
1111
 */
public class B {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        while (in.hasNext()){
            int a=in.nextInt();
            int cnt=1,ans=a;//cnt记次数,ans表示最终得到的结果(如果有解)
            boolean flag=false;//是否有解
            while (cnt<=10){//条件:10次仍不满足条件视为无解
                int temp=ans,over=0;//over:逆序数,temp用来求over
                while (temp!=0){
                    over=over*10+temp%10;
                    temp/=10;
                }
                if(over==ans){//逆序得到的数如果和原数相等,有解(ans)
                    flag=true;
                    break;
                }
                ans+=over;//ans等于本次加上次(自身)
                cnt++;//次数加一
            }
            if(flag){
                System.out.println(ans);
            }else
                System.out.println("not");//无解输出not
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值