我试图找到某个数字之前出现的数字总数,当输入为10^9时,我的代码出错了

  • 本文关键字:数字 错了 出错 代码 9时 java
  • 更新时间 :
  • 英文 :

import java.util.*;
import java.io.*;

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

//write your code here
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
// For each Iteration I am adding the total no. of
// 1's place digits, 10's place digits, 100's place digits, and so on.
for(int i=0;i<T;i++){
int Num = sc.nextInt();
int count = 0;
for(int j=1;j<=Num;j*=10){
count += Num-j+1; 
}
System.out.println(count);
}
}
}

输入:3.1001000000000222222222

我看到的输出:1922989543071888888896

期望输出:19288888888991888888896

import java.util.*;
import java.io.*;
public class Main {
public static void main(String args[]) throws IOException {
//write your code here
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i=0;i<T;i++){
int Num = sc.nextInt();
long count = 0;
for(int j=1;j<=Num;j*=10){
count += Num-j+1; 
}
System.out.println(count);
}
}
}

我只需要将count变量从int更改为long

相关内容

最新更新