杭电4608(I-number) java写很容易 就是超内存!!!

27 篇文章 0 订阅
7 篇文章 0 订阅

  不用java就用大数模板做见hdu1002,java写很容易 就是超内存抓狂抓狂抓狂!!!

Problem Description
The I-number of x is defined to be an integer y, which satisfied the the conditions below:
1. y>x;
2. the sum of each digit of y(under base 10) is the multiple of 10;
3. among all integers that satisfy the two conditions above, y shouble be the minimum.
Given x, you're required to calculate the I-number of x.
 

Input
An integer T(T≤100) will exist in the first line of input, indicating the number of test cases.
The following T lines describe all the queries, each with a positive integer x. The length of x will not exceed 10 5.
 

Output
Output the I-number of x for each query.
 

Sample Input
  
  
1 202
 

Sample Output
  
  
208

实现代码

import java.util.*;
import java.math.*;
class Main{
    public static void main(String[] args){
    	final BigInteger P=BigInteger.ONE;
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        while(t-->0){
            int sum;
            BigInteger x=sc.nextBigInteger();
            while(true){
	            x=x.add(P);
	            String str=x.toString();
                sum=0;
                for(int i=0;i<str.length();i++){
                    sum+=str.charAt(i)-'0';
                }
                if(sum%10==0){
                    System.out.println(x);
                    break;
                }
            }
        }
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值