# Basic Math# Input Output

a780 - 2. Magnificent Views

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算望遠鏡的放大率和視野。給定物鏡焦距、目鏡焦距和目鏡視野,計算放大率(物鏡焦距除以目鏡焦距)以及視野(目鏡視野除以放大率)。輸入為多行,每行包含三個浮點數,分別代表物鏡焦距、目鏡焦距和目鏡視野。輸入三個 0 時結束程式。

解題思路

此題為基本的數學計算題。程式需要讀取三個浮點數,計算放大率和視野,並以指定格式輸出結果。程式使用 while 迴圈讀取輸入,直到讀取到三個 0 為止。計算放大率時,直接將物鏡焦距除以目鏡焦距。計算視野時,先計算放大率,再將目鏡視野除以放大率。使用 printf 函數將結果格式化為兩位小數輸出。

複雜度分析

  • 時間複雜度: O(n),其中 n 是輸入的行數。
  • 空間複雜度: O(1),程式只使用了常數個變數。

程式碼

#include <iostream>
using namespace std;
int main(){
	float a,b,c;
	while(cin >> a >> b >> c){
		if(a==0&&b==0&&c==0)break;
		printf("%.2f %.2f\n",a/b,c/(a/b));
	}
}

Discussion