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

Giải bài có thưởng!

Nhập vào số nguyên dương N (1<=N>=1000). Em hãy tính số lần biến đổi số N theo quy tắc như trên

Bờm được học về phép nhân và phép chia số nguyên, những lúc rãnh rỗi Bờm ngồi nghĩ đến số nguyên dương N và thực hiện biến đổi số đó theo quy tắc sau:

-Nếu N là số chẵn thì lấy số N chia cho 2;

-Nếu N là số lẻ thì lấy N nhân với 3 và cộng thêm 1.

Quá trình này lặp lại cho đến khi số N bằng 1.

Yêu cầu:Nhập vào số nguyên dương N (1<=N>=1000). Em hãy tính số lần biến đổi số N theo quy tắc như trên
help meeee!!! Mai thi oiiiiiiii

0 trả lời
Hỏi chi tiết
62
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để giải bài toán này, chúng ta có thể sử dụng vòng lặp để thực hiện quá trình biến đổi số N theo quy tắc đã cho cho đến khi N bằng 1. Dưới đây là đoạn code Python để giải bài toán này:

```python
def count_transformations(N):
count = 0
while N != 1:
if N % 2 == 0:
N //= 2
else:
N = N * 3 + 1
count += 1
return count

N = int(input("Nhập số nguyên dương N (1<=N<=1000): "))
if N < 1 or N > 1000:
print("Số N không hợp lệ.")
else:
transformations = count_transformations(N)
print("Số lần biến đổi số N là:", transformations)
```

Bạn có thể sao chép đoạn code trên và chạy trên môi trường Python để kiểm tra kết quả. Chúc bạn thành công trong kỳ thi sắp tới!

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
Bài tập Tin học Lớp 12 mới nhất

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

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k