OJ水題-----小光棍數

描述:最近Topcoder的XD遇到了一個難題,假若一個數的三次方的後三位是111,他把這樣的數稱爲小光棍數。他已經知道了第一個小光棍數是471,471的三次方是104487111,如今他想知道第m(m<=10000000000)個小光棍數是多少?java

輸入:有多組測試數據。第一行一個整數n,表示有n組測試數據。接下來的每行有一個整數m測試

輸出:輸出第m個小光棍數。spa

輸入數據:
code

1

輸出數據:orm

471

/***************************************************************************/
ci

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();
		for(int i=0;i<s;i++){
			Long ge = sc.nextLong();
			if(ge.toString().equals("1")){
				System.out.println("471");
				continue;
			}
			System.out.println((ge - 1)+"471");
		}
	}
}

2333 這道題我表示很蛋疼.第一眼看過去的想法:"嗯,這題用遍歷一個個的判斷就行"..結果超時..it

而後再改進,將計算出來的值放到容器裏存起來,若是輸入的數字小於容器的長度,就直接從容器裏面取好了class

若是數字大於容器的長度,那就從容器取最後一個.繼續往下計算..心想這樣應該能夠了吧. = =結果仍是超時..import

而後我在本地試了一下..感受速度還能夠啊..  隨手輸入了幾個數字.. 1 2 3 4 5 6 ...好吧..我無語了容器

顯示出來的數字全都是 471......  只不過前面的數字不一樣....而後ac了..

相關文章
相關標籤/搜索