特殊数字蓝桥杯JAVA_蓝桥杯历届真题-回文数字 Java实现

输出格式:

若干行,每行包含一个满足要求的5位或6位整数。

数字按从小到大的顺序排列。

如果没有满足条件的,输出:-1

输入样例1:

44

输出样例:

99899

499994

589985

598895

679976

688886

697796

769967

778877

787787

796697

859958

868868

877778

886688

895598

949949

958859

967769

976679

985589

994499

输入样例2:

60

输出样例2:

-1

思路:

这道题没去纠结什么方法,直接暴力遍历找出即可。用flag做标示器,找到将flag记为1,没找到记为0,最后flag为0则输出-1。

下面附上代码:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.math.BigInteger;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collection;

import java.util.Collections;

import java.util.Comparator;

import java.util.Scanner;

import javax.print.attribute.Size2DSyntax;

import javax.security.auth.x500.X500Principal;

import javax.swing.text.Highlighter;

import org.omg.PortableServer.ID_ASSIGNMENT_POLICY_ID;

public class Main{

public static void main(String args[]) throws IOException {

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String s[]=br.readLine().split("\\s+");

int n=Integer.parseInt(s[0]);

int flag=0;

for (int i = 10000; i < 100000; i++) {

int a=i%10;

int b=i/10%10;

int c=i/100%10;

int d=i/1000%10;

int e=i/10000;

if(a==e&&b==d&&a+b+c+d+e==n)

{

System.out.println(i);

flag=1;

}

}

for (int i = 100000; i < 1000000; i++) {

int a=i%10;

int b=i/10%10;

int c=i/100%10;

int d=i/1000%10;

int e=i/10000%10;

int f=i/100000;

if(a==f&&b==e&&c==d&&a+b+c+d+e+f==n)

{

System.out.println(i);

flag=1;

}

}

if(flag==0)

System.out.println(-1);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值