[南陽OJ-No.11]奇偶数分離|整型偶数n(2

11914 ワード

南陽OJ-No.11

:3000 ms | :65535 KB

説明


整数偶数n(2<=n<=10000)があります.まず、1からnまでのすべての奇数を小さいものから大きいものに出力し、すべての偶数を小さいものから大きいものに出力します.

入力


第1行には、i群のテストデータがあることを示す整数i(2<=i<30)がある.各グループには整数偶数nがある.

しゅつりょく


第1行出力すべての奇数第2行出力すべての偶数

サンプル入力


2 10 14

サンプル出力


1 3 5 7 9 2 4 6 8 10
1 3 5 7 9 11 2 4 6 8 10 12

java

124, 1849
/*2017.2.1
 * JDK1.7
 *  
 * */
import java.util.Scanner;
public class Main {
    public static void main(String[] args) throws Exception{
        Scanner cin = new Scanner(System.in);
        int a = cin.nextInt();  //a 

        while (a>=1) {  //a , a 
            int x = cin.nextInt();

            for (int n=1; n<=x; n++) {  // 
                if (n%2 !=0) {
                    System.out.print(n + " ");
                }
            }

            System.out.println();

            for (int n=1; n<=x; n++) {  // 
                if (n%2 == 0) {
                    System.out.print(n + " ");
                }
            }

            a--;
        }
    }
}
114, 1849
/*2017.2.1
 * JDK1.7
 *  
 * */
import java.util.Scanner;
public class Main {
    public static void main(String[] args) throws Exception{
        Scanner cin = new Scanner(System.in);
        int a = cin.nextInt();  //a 

        while (a>=1) {  //a , a 
            int x = cin.nextInt();
            int n = 1;
            while (n<=x)
            {
                if (n%2 !=0) {
                    System.out.print(n + " ");
                }
                n++;
            }

            System.out.println();

            n = 1;
            while (n<=x) {
                if (n%2 == 0) {
                    System.out.print(n + " ");
                }
                n++;
            }

            a--;
        }
    }
}

While効率はforサイクルより高い!!! 58, 1788
この解法はネットワークから来て、原文はアンドレアからの成長を参照してください:奇偶数分離
import java.util.Scanner;  

public class Main {  
    public static void main(String[] args) {  
        int [] src = getInt();      // 
        StringBuffer odds, evens;   //odds ,evens 

        for(int j = 0; j < src.length; j++) {  
            odds = new StringBuffer();
            evens = new StringBuffer(); 

            for(int i = 1; i <= src[j]; i++) {  //   
                if(isOdd(i)) {  
                    odds.append(i+" ");  
                } else {  
                    evens.append(i+" ");  
                }  
            }
            // 
            System.out.println(odds.toString());  
            System.out.println(evens.toString());  
            System.out.println();  
        }  
    }
    public static  int[] getInt() {  
        Scanner sc=new Scanner(System.in);  
        int x=sc.nextInt();  
        int[] s=new int[x];  
        for(int i=0;ireturn s;  
    }
    //   
    public static  boolean isOdd(int i) {  
        if(i % 2 != 0) return true;  
        return false;  
    }  
}  
34, 436これは南陽OJで結果の中で探したのが最も優れたアルゴリズムで、1つの貨幣を投げて下源コードを盗んで、ユーザー名Bryan、1つの字、美!
import java.util.Scanner;

public class Main {
    public static Scanner cin = new Scanner(System.in);
    public static StringBuilder sb = new StringBuilder();
    public static void main(String[] args) {
        int line = 0;
        int number = cin.nextInt();

        for(int i=0; ifor(int j=1; j<=line; j+=2){
                sb.append(j).append(' ');
            }
            sb.append('
'
); for(int j = 2; j<=line; j+=2){ sb.append(j).append(' '); } System.out.println(sb); sb.delete(0, sb.length()); } } }

c++

4, 240
#include  
using namespace std;

int main()
{
  int a;  // 
  cin >> a;

  while(a>=1)
  {
    int x;
    cin >> x;

    for (int n=1; n<=x; n++) {  // 
      if (n%2 !=0) {
          cout << n << " ";
      }
    }

    cout << endl; 

    for (int n=1; n<=x; n++) {  // 
        if (n%2 == 0) {
            cout << n << " ";
        }
    }

    a--;
  } 

  return 0; 
} 
0, 240最適解法
#include
int main()
{
 int n;
 scanf("%d",&n);
 int a;
 while(n--)
 {
  scanf("%d",&a);
  for(int i=1;i<=a;i+=2)
   printf("%d ",i);
  puts("");
  for(int i=2;i<=a;i+=2)
   printf("%d ",i);
  puts("");
 }
}