蛋蛋的问题(二)

蛋蛋的问题(二)

时间限制:100 ms  |  内存限制:65535 KB
难度:2
描述

教新生的时候,也是学长们最兴奋的时候,但是只局限于讲课的那位帅帅的学长,在最后一排坐着听课的学长确实无比的苦闷啊,为了让小学弟知道,你们的二进制转换学的很烂,学长为你们创造了这道很难的题,没看错,是很难。。。

二进制的转换很简单,下面是搜搜里面的介绍:

这个题可不是求二进制这么简单的,说过了,是很难的。。

下面说问题:对于给出的N个数,求出他们的8进制数或者16进制数,每组数据最前面有标示符,是‘X’,那么就要转换成16进制的书,如果是‘0’,呢么就要转换成8进制,是不是很难啊,还有更难得:注意(输出长度规定为4),可别输错了欧。。。。

输入
有多组数据。
每组数据第一个是一个字符,'0'或者'X',然后是一个整数N(0<N<=100),接下来是N个整数,每个整数都为小于100的非负整数。
输出
对应每组输入,输出所要求的数据,输出数据为单独一行
样例输入
0 5 2 3 4 5 6
X 5 2 3 4 5 6
0 2 99 98
X 2 99 98
X 2 10 11
样例输出
   2    3    4    5    6 
   2    3    4    5    6 
 143  142 
  63   62 
   A   B
来源
菜鸟自创
//849744	张燚	蛋蛋的问题(二)	Accepted	 8	 232	C/C++	05-03 17:26:23
#include<stdio.h>
int main()
{
	char c;
	int n;
	int a[110];
	while(scanf("%c %d",&c,&n)!=EOF)
	{
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		getchar();
		if(c=='0')
		{
			for(int i=0;i<n;i++)
			{
				printf("%4o",a[i]);
			}
			printf("\n");
		}
		else 
		{
			for(int i=0;i<n;i++)
			{
				printf("%4X",a[i]);
			}
			printf("\n");
		}
	}
	return 0;
}


//849724	张燚	蛋蛋的问题(二)	TimeLimitExceeded	 --	 --	java	05-03 17:20:08
import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		while(input.hasNext()){
			String p=input.next();
			int n=input.nextInt();
			if(p.charAt(0)=='X')
				for(int i=0;i<n;i++){
					int a=input.nextInt();
					System.out.print(String.format("%4s", Integer.toHexString(a).toUpperCase()));
				}
			else{
				for(int i=0;i<n;i++){
					int a=input.nextInt();
					System.out.print(String.format("%4s", Integer.toOctalString(a)));
				}
			}
			System.out.println();
		}
	}
}

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main{//超时
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		while(input.hasNext()){
			String p=input.next();
			int n=input.nextInt();
			if(p.charAt(0)=='X')
				for(int i=0;i<n;i++){
					int a=input.nextInt();
					System.out.print(String.format("%4X", a));
				}
			else{
				for(int i=0;i<n;i++){
					int a=input.nextInt();
					System.out.print(String.format("%4o", a));
				}
			}
			System.out.println();
		}
	}
}


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main{//超时
	public static void main(String[] args) throws Exception{
		Scanner input=new Scanner(System.in);
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String s=null;
		while((s=bf.readLine())!=null){
			String p[]=s.split(" ");
			int n=p.length;
			if(p[0].charAt(0)=='X')
				for(int i=2;i<n;i++){
					System.out.print(String.format("%4X", Integer.parseInt(p[i])));
				}
			else{
				for(int i=2;i<n;i++){
					System.out.print(String.format("%4o", Integer.parseInt(p[i])));
				}
			}
			System.out.println();
		}
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章