HDOJ 2099 整除的尾数

来源:互联网 发布:合肥百度上网软件 编辑:程序博客网 时间:2024/06/05 11:57

HDACM2099
因为输入的n少了末尾两位,所以可以先把n*100,然后与m求余(b=n*100%m),如果b为0 说明 00 就末尾两位中的一种可能。当b小于m时,(m-b)肯定也是n的末尾两位,同时b=m,当b不小于m时且b+m小于n*100%m+100时,b+m-n*100%m也肯定是n的末尾两位,依次类推。

import java.util.Scanner;public class Main{    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        while (sc.hasNext()) {            int n = sc.nextInt();            int m = sc.nextInt();            if (n==0&m==0) {                break;            }            n = n*100;            int a = n%m;            boolean isFirst = true;            int b =a;            while (true) {                if (b==0) {                    System.out.print("00");                    isFirst=false;                }                if (!isFirst) {                    System.out.print(" ");                }                if (b<m) {                    if (m-b<10) {                        System.out.print("0"+(m-b));                        isFirst=false;                    }else{                        System.out.print(m-b);                        isFirst=false;                    }                    b=m;                }else {                    if(b+m<a+100){                        System.out.print(b+m-a);                        isFirst=false;                        b += m;                    }                }                if (b+m>=a+100) {                    break;                }            }            System.out.println();        }    }}
原创粉丝点击