SPOJ生命宇宙和一切

时间:2016-09-05 10:35:09

标签: java arrays solution

我正在尝试使用Java6(JAR)解决以下关于spoj的问题: -

你的程序是使用蛮力方法来找到生命,宇宙和万物的答案。更确切地说......从输入到输出重写小数字。读取数字42后停止处理输入。输入的所有数字都是一位或两位数的整数。

输入: 1 2 88 42 99

输出: 1 2 88

SPOJ不接受我的解决方案。我认为以下解决方案有一些错误。如果没有,是否有特殊的格式在spoj上编写代码,以便我的解决方案被接受。

 import java.util.*;

   class Life
  {
  public static void main(String[] args)
  {

Scanner sc = new Scanner(System.in);

int arr[] = new int[100];
int a;

for( a=0;a<100;a++)
{
  int i = sc.nextInt();
  if(i<100)
  {
  arr[a]=i;
  }

  if(a>0)
  {
  if(arr[a-1] > arr[a])
  break;

  }
 }

  for(int j=0;j<a;j++)
  {
  System.out.print(arr[j]);
  }

  sc.close();
 }
}

3 个答案:

答案 0 :(得分:1)

你完全不理解问题陈述!这就像你有无限输入作为整数但是当你输入42时停止,直到打印出作为输入的所有整数。所以这是它的代码!

import java.util.Scanner;

class Life
{
    public static void main(String args[])
    {
        Scanner sc =new Scanner(System.in);

        while(true)                 //This loop will always run till we break it from inside the loop
        {
            int ip=sc.nextInt();    //Taking input as an integer
            if(ip == 42)            //If input is 42 , break the loop
                break;
            System.out.println(ip); //else print that integer and continue the loop
        }
    }
}

答案 1 :(得分:0)

上述问题的可接受的解决方案

<script>
    function myFunction() {
        var x = document.getElementById("navDemo");
        if (x.className.indexOf("w3-show") == -1) {
            x.className += " w3-show";
        } else {
            x.className = x.className.replace(" w3-show", "");
        }
    }

    /* When user clicks anywhere outside of the modal, close it */
    var modal = document.getElementById('ticketModal');
    window.onclick = function(event) {
      if (event.target == modal) {
        modal.style.display = "none";
      }
    }
</script>

答案 2 :(得分:0)

简单的Java解决方案

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

/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
    Scanner sc=new Scanner(System.in);
    if (sc.hasNext())
    {
    while(true)
        {
        int n=sc.nextInt();
        if (n==42)
        {
            break;
        } 
        System.out.println(n);
        }
    }
}
}