首页 > 试题广场 >

反序数

[编程题]反序数
  • 热度指数:37846 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)
求N的值

输入描述:
程序无任何输入数据。


输出描述:
输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。
示例1

输入

输出

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int n;
        int reverse;
        for(int i = 1000;i <= 9999;i++){

            reverse = (i/1000)+(i/100 - (i/1000)*10)*10+(i/10-(i/100)*10)*100+(i-(i/10)*10)*1000;
            if((9*i) == reverse){
                System.out.println(i);
            }
    }
}
}
发表于 2025-01-10 14:11:51 回复(0)
public class Main{
    public static void main(String[] args){
        //所求数字首位必为1,末位必为9
        //设四位数为1ab9,则翻转数为9ba1
        int a;
        int b;
        
        for(a = 0 ; a < 10; a++){
            for(b = 0; b < 10; b++){
                                //a b 满足的关系为890*a+80==10*b
                if(890*a + 80 == 10*b){
                    System.out.println(1000 + a*100 + b*10 + 9);
                }
            }
        }
    }
}


编辑于 2020-03-21 10:58:34 回复(0)
Java解法
public class Main {
    public static void main(String[] args) {
        for (int i = 1000; i < 2000; i++) {
            String reverse = new StringBuilder().append(i * 9).reverse().toString();
            if (reverse.equals(String.valueOf(i)))
                System.out.println(i);
        }
    }
}


发表于 2020-03-06 16:55:26 回复(0)
import java.util.Scanner;


public class diversesort {
    public static void main(String[] args) {
        for(int a=1000;a<=1111;a++){
            int b=a*9;
            String s1=String.valueOf(a);
            String s2=String.valueOf(b);
            if(s1.charAt(0)==s2.charAt(3)&&s1.charAt(1)==s2.charAt(2)&&s1.charAt(2)==s2.charAt(1)&&s1.charAt(3)==s2.charAt(0)){
                System.out.println(a);
            }
        }
    }
}

发表于 2019-10-20 11:33:50 回复(0)

问题信息

上传者:小小
难度:
4条回答 8848浏览

热门推荐

通过挑战的用户

查看代码
反序数