洛谷p1151子数整数

题目描述

对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:

sub1=a1a2a3

sub2=a2a3a4

sub3=a3a4a5

例如,五位数20207可以拆分成

sub1=202

sub2=020(=20)

sub3=207

现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。

输入格式

一个正整数K

输出格式

每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。

输入输出样例

输入 #1

15

输出 #1

22555
25555
28555
30000

说明/提示

0

思路:

  • 分别求出sub1,sub2,sub3
  • 判断sub1,sub2,sub3模k的值是否同时为0
  • 用temp记录变化情况,便于输出所需内容

代码实现:

package qwx.luogu;

import java.util.Scanner;

public class p1151 {
     
    public static void main(String[] args) {
     
        Scanner scanner=new Scanner(System.in);
        int k=scanner.nextInt();
        int ltemp=0;
        for (int i=10000;i<=30000;i++)
        {
     
            int sub1=i/100;
            int temp=i/10;
            int sub2=temp%1000;
            int sub3=i%1000;
            if (sub1%k==0&&sub2%k==0&&sub3%k==0)
            {
     
                ltemp=1;
                System.out.println(i);
            }
        }
        if(ltemp==0)
            System.out.println("No");
    }
}

你可能感兴趣的:(算法,java,算法)