Cho hai giá trị thực: khoảng cách ảnh (image distance) và khoảng cách vật (object distance) từ thấu kính. Tính tiêu cự (focal length).
Tiêu cự (Focal Length) là gì?
Khoảng cách giữa tâm thấu kính/gương cong và tiêu điểm (focus).

Trong hình: i = vật, F = ảnh, f = tiêu cự.
Công thức:
1/F = 1/O + 1/I → F = 1 / (1/O + 1/I)
Trong đó: F = tiêu cự, O = khoảng cách vật-thấu kính, I = khoảng cách ảnh-thấu kính.
Ví dụ
Input: image_distance=5, object_distance=10 Output: Focal length = 3.333333 Giải thích: 1/5 + 1/10 = 3/10 → F = 10/3 = 3.333333 Input: image_distance=7, object_distance=10 Output: Focal length = 4.117647
Cách giải
- Nhập image_distance, object_distance.
- Tính 1/(1/image_distance + 1/object_distance).
- In kết quả.
Thuật toán
Bắt đầu
B1: float focal_length(float image_distance, float object_distance)
return 1 / ((1/image_distance) + (1/object_distance))
B2: main():
image_distance = 5, object_distance = 10
in focal_length(image_distance, object_distance)
Kết thúc
Ví dụ mã nguồn
#include <stdio.h>
// Tính tiêu cự thấu kính
float focal_length(float image_distance, float object_distance) {
return 1 / ((1 / image_distance) + (1 / object_distance));
}
int main() {
float image_distance = 5; // khoảng cách thấu kính - ảnh
float object_distance = 10; // khoảng cách thấu kính - vật
printf("Tieu cu cua thau kinh la: %f\n", focal_length(image_distance, object_distance));
return 0;
}
Kết quả đầu ra
Tieu cu cua thau kinh la: 3.333333