练习题16:丢失的三个数

题目描述

现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为103368435,除以七的余数为2。

输入描述:

输入数据为一行,包含9997个数字,空格隔开。

输出描述:

输出为一行,包含一个数字。

Java解法:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class test07 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String [] str = br.readLine().trim().split(" ");
StringBuilder sb = new StringBuilder();
int count = 0;
for (int i=0; i<str.length; i++) {
int value = Integer.parseInt(str[i]);
if (value != i +1 + count) {
sb.append(value - 1 + "");
count++;
}
if (count == 3) {
break;
}
}
long data = Long.valueOf(sb.toString());
System.out.println(data % 7);
}
}

猜你喜欢

转载自www.cnblogs.com/HwyStudy/p/9202124.html