[南陽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("");
}
}