Bài Toán Josephus - Programming - Dạy Nhau Học Trang chủ » Công Thức Josephus » Bài Toán Josephus - Programming - Dạy Nhau Học Có thể bạn quan tâm Công Thức Joule Lenz Công Thức Jp Công Thức J Perm Công Thức Juice Công Thức Con Cá Rubik 3x3 Bài toán Josephus programming pointers c++ MaBu (Bụng Bự) November 14, 2018, 10:39am #1 Em có bài toán nhỏ share cho những bạn đang học về con trỏ áp dụng làm thử. Trên mạng chắc sẽ có nhưng trong DNH thì không. Nếu trùng thì anh Đạt delete giúp em nha. Bài toán Josephus: Cho N người đứng thành vòng tròn và chọn 1 con số M bất kì (M < N). Bắt đầu người thứ I (mang số 1) đếm 1, người kế bên phải đếm 2,…cho tới người thứ M sẽ tự động ra khỏi vòng tròn và người bên phải anh ta phải đếm lại là 1, cứ tiếp tục cho đến khi không còn ai. Yêu cầu xuất ra thứ tự đi ra và người cuối cùng đi ra. Bài này có thể dùng mảng nhưng bạn nào dùng con trỏ thì sẽ hiểu được bản chất con trỏ dùng như thế nào. 4 Likes drgnz (Drgnz) April 10, 2015, 8:12am #2 ‘3’ DS liên kết phải ko nhể 1 Like MaBu (Bụng Bự) April 10, 2015, 2:03pm #4 híc, bài này dễ quá nên không ai thèm làm hết. 1 Like nguyenchiemminhvu (NCMV) April 11, 2015, 1:53am #5 Dùng danh sách liên kết vòng. Nối last->next = first; #include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; int element = 1; struct list { int number; list *next; }; list* input() { list *p,*head; int n; p = NULL; head = NULL; cout << "Nhap gia tri cho cac phan tu (nhap 0 de dung): "; while(true) { cin >> n; if(n==0) { p->next = head; return head; } if(head == NULL) { p = new list[1]; head = p; } else { p->next = new list[1]; p = p->next; } p->number = n; element++; } } void output(list *head) { list *p; p = head; int i = 1; while(i < element) { cout<<p->number<<" "; p = p->next; i++; } cout<<endl; } int play(list *head) { list *p,*pt; p = head; while(p->next != p) { for(int i = 1; i <= 3; i++) p = p->next; pt = p; //Cho pt tro den phan tu truoc phan tu bi xoa p = p->next; pt->next = p->next; element--; output(head); p = p->next; } return p->number; //Tra ve phan tu con lai sau cung } int main() { list *head; int last; head = input(); output(head); last = play(head); cout << "Output: " << last; system("pause"); return 0; } 1 Like hungvp1109 (Phạm Hưng) August 3, 2016, 8:55am #6 Bạn giải thích hộ mình cả code với. Mình đọc không hiểu Hien_Nguyen (Hiển Nguyễn) July 23, 2020, 7:06am #8 Bài này có công thức tổng quát mà Với M=2 IMG_20200723_1311211437×227 192 KB Thay tất cả các số 2 bởi M là được. Viết n ở hệ cơ số M. Rồi đảo c.s 1 ở đầu lên cuối IMG_20200723_1314271343×408 331 KB 1 Like rogp10 (rogp10) July 23, 2020, 7:55am #9 Bài này có 2 tham số bạn 3 Likes DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Công Thức Josephus Bài Toán Josephus, Ai Sẽ Là Người Cuối Cùng - Blog Of Lightnumbers Chủ đề: Josephus(sos!!!) - Diễn Đàn Tin Học Câu đố Toán Học Này Làm Bạn đau đầu Nhưng Nó Cũng Sẽ Cứu Sống ... Bài Toán Josephus – Wikipedia Tiếng Việt BÀI TOÁN SỐNG CÒN - JOSEPHUS... - GenMath - Toán Tiếng Anh Bài Toán Josephus Câu đố Toán Học Josephus: Làm Sao để Sống Sót? - YouTube Bài Toán Josephus - YouTube Bài Toán Josephus (Tính Ra) Cấu Trúc Dữ Liệu Và Giải Thuật I - BÀI TẬP BÀI TẬP LÝ THUYẾT Pptx Trò Chơi Josephus - LQDOJ: Le Quy Don Online Judge