• 反置数


                                                                  反置数的应用

       问题描述
      一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。
    如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。
    比如说,1245的反置数是5421,而1200的反置数是21。
    请编写一个程序,输入两个整数,然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。
    要求:由于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。
      输入格式:输入只有一行,包括两个整数,中间用空格隔开。
      输出格式:输出只有一行,即相应的结果。
      输入输出样例
    样例输入
    435 754
    样例输出
    199

      代码:

    import java.util.*;
    public class Fangzhishu {
        public static int fun(int n)
        {
             int sum=0;
             while(n>0)
             {//当余数不为0的时候,继续操作
                 int d=n%10;
                 sum=sum*10+d;
                 n=n/10;
             }
              return sum;
        }
        public static void main(String[] args)
        {
            
            Scanner in=new Scanner(System.in);
            int a=in.nextInt();
            int b=in.nextInt();
            int c=fun(a)+fun(b);
            //  fun(c);
            System.out.print(fun(c));        
            
        
        }

    }

       运行结果:

     

     分析:本题的关键在于,fun()方法。

    public static int fun(int n)
        {
             int sum=0;
             while(n>0)   //当余数不为0的时候,继续操作
             {  
                 int d=n%10;
                 sum=sum*10+d;
                 n=n/10;
             }
              return sum;
        }

    例如120 它的反置苏则是21,不是021。

    推导过程如下:

    1>int d=n%10=120%10=0

    sum=sum*10+d=0;

    n=n/10=120/10=12;

    这是第1次推导循环

    2> int d=n%10=12%10=2; 接着第一次的推导。

      sum=sum*10+d=0*10+2=2;

    n=n/10=12/10=1;

    3>接着上面的推导过程

    int d=n%10=1%10=1;(1=10*0+1)

    sum=sum*10+d=2*10+1;

    n=n/10=1/10=0;

    当n=0;循环就结束了,所以sum的值就是21,120的反置数就是21.

    通过利用fun循环就可以搞定。

    编程是一门艺术,要爱就要深爱。
  • 相关阅读:
    debian 登录CUPS 管理界面报错
    Shell脚本调试技术
    贴个ALSA例程
    产业生态圈和生态圈
    开个帖,开始学习shell编程
    Lua源码阅读建议
    Flash, EEPROM, SPI Flash diff
    makefile中的notdir,wildcard和patsubst
    quartus II使用零星记录
    Hello ZED
  • 原文地址:https://www.cnblogs.com/pwhit/p/5045069.html
Copyright © 2020-2023  润新知