a780 - 2. Magnificent Views
題目描述
題目要求計算望遠鏡的放大率和視野。給定物鏡焦距、目鏡焦距和目鏡視野,計算放大率(物鏡焦距除以目鏡焦距)以及視野(目鏡視野除以放大率)。輸入為多行,每行包含三個浮點數,分別代表物鏡焦距、目鏡焦距和目鏡視野。輸入三個 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));
}
}