Bài tập  /  Bài đang cần trả lời

Hãy viết chương trình tìm chữ số cuối cùng của tích sau khi đã loại bỏ các số đó chương trình

code c++ nhé help mình
----- Nội dung ảnh -----
Chữ số cuối cùng [LASTD]

Từ tích của 1 · 2 · 3 · ... · (n - 1) · n với số n cho trước, loại bỏ tất cả các số chẵn và tất cả các số chia hết cho 5. Hãy viết chương trình tìm chữ số cuối cùng của tích sau khi đã loại bỏ các số đó, chương trình cần thực hiện với ba giá trị n1, n2, n3.

Dữ liệu (nhập từ bàn phím)
- Dòng 1: là ba số nguyên n1, n2, n3 (0 < ni ≤ 10^18).

Kết quả (ghi ra màn hình)
- Dòng 1 ... 3: dòng i ghi một chữ số là chữ số cuối cùng của tích với n = ni.

Ví dụ

Input
8 11 22

Output
1
1
1

Giải thích
- Với n=8, sau khi loại bỏ các số 2, 4, 5, 6, 8 từ tích 1:2:3:4:5:6:7:8, ta được tích 1:3:7 = 21. Chữ số cuối cùng là 1.
- Với n=11, sau khi loại bỏ các số 2, 4, 5, 6, 8, 10 từ tích 1:2:3:4:5:6:7:8:9:10:11, ta được tích 1:3:7:9:11 = 2079. Chữ số cuối cùng là 9.
- Với n=22, sau khi loại bỏ các số 2, 4, 6, 8, 10, 12, 14, 15, 16, 18, 20, 22 từ tích 1:2:3:...:22, ta được tích 1:3:7:9:11:13:17:19:21 = 183324241. Chữ số cuối cùng là 1.
1 Xem trả lời
Hỏi chi tiết
48
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là chương trình Python để tìm chữ số cuối cùng của tích \(1 \times 2 \times \ldots \times (n - 1) \) sau khi loại bỏ các số chẵn và các số chia hết cho 5.

```python
def last_digit_product(n1, n2, n3):
# Hàm để tính chữ số cuối cùng của tích
def last_digit(n):
if n == 0:
return 1
result = 1
for i in range(1, n):
if i % 2 != 0 and i % 5 != 0: # loại bỏ số chẵn và số chia hết cho 5
result *= i
result %= 10 # chỉ giữ lại chữ số cuối cùng
return result

# Tính chữ số cuối cùng cho từng n
result1 = last_digit(n1)
result2 = last_digit(n2)
result3 = last_digit(n3)

return result1, result2, result3

# Nhập dữ liệu
n1, n2, n3 = map(int, input().split())

# Kết quả
results = last_digit_product(n1, n2, n3)
for res in results:
print(res)
```

### Giải thích chương trình:

1. **Hàm `last_digit(n)`**: Tính tích các số từ 1 đến \( n - 1 \) nhưng loại bỏ các số chẵn và các số chia hết cho 5. Kết quả chỉ lấy chữ số cuối cùng.

2. **Chương trình chính**: Nhập ba giá trị \( n1, n2, n3 \) từ bàn phím, gọi hàm để tính chữ số cuối cùng cho từng giá trị, và in kết quả.

Bạn có thể chạy chương trình này trong môi trường Python để kiểm tra với các giá trị khác nhau.
1
0
Duy Lê
29/09 15:08:06
+5đ tặng
Python
def tinh_tich_loai_bo(n):
tich = 1 for i in range(1, n + 1):
if i % 2 != 0 and i % 5 != 0:
tich *= i return tich % 10
n1, n2, n3 = map(int, input().split())
print(tinh_tich_loai_bo(n1))
print(tinh_tich_loai_bo(n2))
print(tinh_tich_loai_bo(n3))

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×