OJ-2750:雞兔同籠

package poj;
import java.util.Scanner;
import java.io.BufferedInputStream;
public class E2750 {

	public static void main(String[] args) {
		int nCases, nFeet;
		Scanner in = new Scanner(new BufferedInputStream(System.in));
		nCases = in.nextInt();
		for(int i = 0; i < nCases; i++){
			nFeet = in.nextInt();
			if(nFeet % 2 != 0) {
				System.out.println("0 0");
			}else if (nFeet % 4 != 0){
				System.out.println((nFeet/4 + 1) + " " + nFeet/2);
			}else{
				System.out.println((nFeet/4) + " " + nFeet/2);
			}
		}
		in.close();
	}

}
/*
2750:雞兔同籠
http://bailian.openjudge.cn/practice/2750/
總時間限制: 1000ms 內存限制: 65536kB
描述
一個籠子裏面關了雞和兔子(雞有2只腳,兔子有4只腳,沒有例外)。已經知道了籠子裏面腳的總數a,問籠子裏面至少有多少隻動物,至多有多少隻動物
輸入
第1行是測試數據的組數n,後面跟着n行輸入。每組測試數據佔1行,每行一個正整數a (a < 32768)
輸出
輸出包含n行,每行對應一個輸入,包含兩個正整數,第一個是最少的動物數,第二個是最多的動物數,兩個正整數用一個空格分開
若是沒有知足要求的答案,則輸出兩個0。
樣例輸入
3
3
20
10
樣例輸出
0 0
5 10
3 5
 */

# coding:UTF-8
# in Jython 2.7b3
from java.lang import System
from  java.util import Scanner
from java.io import BufferedInputStream

input = Scanner(BufferedInputStream(System.in))
nCases = input.nextInt()

for i in range(nCases):
	nFeet = input.nextInt()
	if (nFeet % 2 != 0):
		print('0 0\n')
	elif (nFeet % 4 != 0):
		print('%d %d\n' % (nFeet//4 + 1, nFeet//2))
	else:
		print('%d %d' % (nFeet//4, nFeet//2))

# coding:UTF-8
# in Python 3.2.5
nCases = int(input())

for i in range(nCases):
	nFeet = int(input())
	if (nFeet % 2 != 0):
		print('0 0\n')
	elif (nFeet % 4 != 0):
		print('%d %d\n' % (nFeet//4 + 1, nFeet//2))
	else:
		print('%d %d' % (nFeet//4, nFeet//2))

解題思路:java

這個問題能夠描述成任給一個整數N,若是N是奇數,則輸出0 0,不然,若是N是4的倍數,則輸出N/4 N/2,若是N不是4的倍數,則輸出N/4+1 N/2。這是一個通常的計算題,只要實現相應的判斷和輸出代碼就能夠了。題目中說明了輸入整數在一個比較小的範圍內,因此只需考慮整數運算就能夠了。python

相關文章
相關標籤/搜索