Thử thách này lấy cảm hứng từ câu chuyện về nhà toán học Carl Friedrich Gauss. Chuyện kể rằng, khi Gauss còn học tiểu học, một ngày nọ, giáo viên của anh ấy đã nổi giận với cả lớp. "Tôi sẽ khiến các bạn bận rộn một lúc", giáo viên nghiêm khắc nói với cả nhóm. "Bạn phải cộng các số từ 1 đến 100, và bạn không được nói một lời nào cho đến khi bạn làm xong. " Giáo viên mong đợi một khoảng thời gian yên tĩnh, nhưng một lúc sau, nhà toán học tương lai của chúng ta đã giơ tay với câu trả lời. "Là 5050. " Gauss đã nhận ra rằng nếu bạn liệt kê tất cả các số từ 1 đến 100, bạn luôn có thể khớp số đầu tiên và số cuối cùng trong danh sách và nhận được một câu trả lời chung
Gauss nhận ra có đúng 50 cặp số trong phạm vi từ 1 đến 100 nên ông đã làm một phép tính nhanh. 50 * 101 = 5050 piipecek Bài đăng. 1 Chủ đề. 1 Đã tham gia. Tháng 12 năm 2016 Danh tiếng. 0 #1 18-Dec-2016, 09. 49 AM (Bài đăng này đã được sửa đổi lần cuối. 18-Dec-2016, 10. 34 giờ sáng bởi Yoriz. )Xin chào, print 'Write a number, then press Enter, I will show you the way to 1!' n=int(input('Enter here:')) Steps = 0 while 1>0: if n == 1: print '1' break remainder = n % 2 if remainder == 0: print n n = n/2 if remainder == 1: print n n = n*3+1 Steps = Steps+1 answer = str('=== it took') answer2 = str('steps to get to 1 ===') print answer, Steps, answer2ok, nhưng khi nó kết thúc, trong shell nó dừng lại với >>>, nơi tôi có thể đọc đầu ra. nếu lưu thì sau khi kết thúc chương trình sẽ đóng cửa sổ ngay. có cách nào cho nó chạy lại ko Đáp lại Tìm thấy Đáp lại Larz60+ Bài viết. 11.490 Chủ đề. 437 Đã tham gia. Tháng 9 năm 2016 Danh tiếng. 442 #2 18-Dec-2016, 10. 23 AM (Bài đăng này đã được sửa đổi lần cuối. 18-Dec-2016, 10. 26 giờ sáng bởi Larz60+. )Có vẻ như bạn đang nhập trực tiếp vào trình thông dịch. Normally from a command line (or terminal), you would type: python mysavedname.py to run your saved program Đáp lại Tìm thấy Đáp lại sparkz_alot Bài đăng. 1.298 Chủ đề. 38 Đã tham gia. Tháng 9 năm 2016 Danh tiếng. 30 #3 18-Dec-2016, 01. 39 giờ tốiBạn có thể thử đặt mã của mình trong câu lệnh 'thử/ngoại trừ', sau đó mã sẽ chạy liên tục cho đến khi đáp ứng một điều kiện nhất định. Nếu nó không bị hỏng, chỉ là tôi chưa làm được. Đáp lại Tìm thấy Đáp lại đoạn trích Bài đăng. 6.494 Chủ đề. 115 Đã tham gia. Tháng 9 năm 2016 Danh tiếng. 483 #4 18-Dec-2016, 02. 40 PM (Bài đăng này đã được sửa đổi lần cuối. 18-Dec-2016, 02. 40 giờ tối bởi snippsat. )Sử dụng các chức năng, một chức năng menu chạy i một vòng lặp. def calc(): print 'Write a number, then press Enter, I will show you the way to 1!' n = int(raw_input('Enter here:')) Steps = 0 while 1 > 0: if n == 1: print '1' break remainder = n % 2 if remainder == 0: print n n = n / 2 if remainder == 1: print n n = n * 3+1 Steps = Steps + 1 answer = '=== it took' answer2 = 'steps to get to 1 ===' return answer, Steps, answer2 def show_options(): print('\n1. Run way to 1!') print('(q) Quit\n') def menu(): while True: show_options() choice = raw_input('Enter your choice: ').lower() if choice == '1': calc() elif choice == 'q': return False else: print('Not a correct choice: {}'.format(choice)) menu() Đáp lại Tìm thấy Đáp lại |