Lấy số người trong phòng làm đầu vào từ người dùng. Sau đó tính số cái bắt tay tối đa có thể có giữa những người đó
cho e. g
Nếu có N người trong phòng thì người thứ nhất phải bắt tay với N-1 người và người thứ hai phải bắt tay với N-1-1 người i. e. , Có thể bắt tay N-2. Vì vậy, nó tiếp tục
Có N người trong phòng. Tìm số cái bắt tay tối đa có thể. Biết rằng hai người bất kỳ bắt tay nhau đúng một lần
ví dụ.
Input : N = 2 Output : 1. There are only 2 persons in the room. 1 handshake take place. Input : N = 10 Output : 45.
Đề nghị thực hành
Bắt tay tối đa
Thử nó
Để tối đa hóa số lần bắt tay, mỗi người nên bắt tay với mọi người khác trong phòng. Đối với người đầu tiên, sẽ có N-1 cái bắt tay. Đối với người thứ hai sẽ có N-1 người nhưng anh ấy đã bắt tay với người thứ nhất. Vì vậy, sẽ có N-2 cái bắt tay, v.v.
Vì vậy, Tổng số lần bắt tay = N-1 + N-2 +…. + 1 + 0, tương đương với [[N-1]*N]/2
[sử dụng công thức tổng của N số tự nhiên đầu tiên].
Dưới đây là việc thực hiện vấn đề này.
C++
456
457
458
459
450
451
452
453
452
451______12
453
454
452
456
457
458
452
4560
458
4562
458
452
4565
4566
4567
C
4568
4569
451
452
453
452
451______12
453
454
452
456
457
458
452
4560
458
4585____486
4587
4588
458
452
4565
4566
4567
Java
4594
________ 495 ________ 496
458
4598
458
4500
458
4502
452
453
452
4506
458
457
4509
452
4511
4512
4513
4514
4515
458
4566
458
4519
458
4521
4502
4523
4524
458
457
4509
452
4529____530
4515
4509
4533
458
4566
4566
4567
Python3
4538
4539
4500
4501
4502
4503
458
452 ________ 52_______107
4508 ________ 109
4510 ________ 512
4512
4513
4514
4515