ZZULIOJ 1106: 回文数(函数专题)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014543872/article/details/84193299

题目描述

一个正整数,如果从左向 右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。输入两个整数m和n(m<n),输出区间[m,n]之间的回文数。 

输入

输入两个正整数m和n,输入保证m<n。 

输出

按从小到大的顺序,输出m到n之间的回文数,每个数后面有一个空格。 

样例输入

100 200

样例输出

101 111 121 131 141 151 161 171 181 191 
import java.util.Scanner;

public class Main {


        public static int inverse(int n){

                int num=0;
                while (n>0){

                        num=num*10+n%10;
                        n/=10;
                }
                return num;
        }

        public static void main(String[] args)
        {

                Scanner input=new Scanner(System.in);
                int m=input.nextInt();
                int n=input.nextInt();

                for (int i=m;i<=n;i++){

                        if(i==Main.inverse(i)){
                                System.out.print(i+" ");
                        }
                }

        }

}

基础练习  回文数

问题描述

  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

输出格式

  按从小到大的顺序输出满足条件的四位十进制数。

public class Main {

        public static void main(String[] args) {


                for (int i = 1; i <= 9; i++) {    //千位 不能为零
                        for (int j = 0; j <= 9; j++) {   //百位
                                for (int m = 0; m <= 9; m++) {    //十位
                                        for (int n = 0; n <= 9; n++) {  // 个位
                                                if (i == n && j == m) {
                                                        System.out.printf("%d%d%d%d\n", i, j, m, n);
                                                }

                                        }

                                }


                        }


                }
        }
}

基础练习 特殊回文数  

问题描述

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

  输入一行,包含一个正整数n。

输出格式

  按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

import java.util.Scanner;

public class Main {

        public static void main(String[] args) {


                Scanner input=new Scanner(System.in);
                int n=input.nextInt();

                //n为五位数时、
                for (int a=1;a<=9;a++){   //万位 且不能为零
                        for(int b=0;b<=9;b++){   //千位
                                for(int c=0;c<=9;c++){    //百位
                                        for (int d=0;d<=9;d++) {  //十位
                                            for (int e=0;e<=9;e++){    //个位
                                                    if((a+b+c+d+e)==n&&a==e&&b==d){
                                                            System.out.printf("%d%d%d%d%d\n", a, b, c, d,e);
                                                    }
                                            }
                                        }

                                }

                        }

                }

                //n为六位数时、
                for (int a=1;a<=9;a++){   //十万位 且不能为零
                        for(int b=0;b<=9;b++){   //万位
                                for(int c=0;c<=9;c++){    //千位
                                        for (int d=0;d<=9;d++) {  //百位
                                                for (int e=0;e<=9;e++){    //十位
                                                        for (int f=0;f<=9;f++) {  //个位
                                                                if ((a + b + c + d + e+f) == n && a == f && b == e&&c==d) {
                                                                        System.out.printf("%d%d%d%d%d%d\n", a, b, c, d, e,f);
                                                                }
                                                        }
                                                }
                                        }

                                }

                        }

                }

        }
}

猜你喜欢

转载自blog.csdn.net/u014543872/article/details/84193299