Hỏi Code đếm Các Số Chia Hết Cho 9 - Programming - Dạy Nhau Học Trang chủ » đếm Xem Có Bao Nhiêu Số Chia Hết Cho 3 » Hỏi Code đếm Các Số Chia Hết Cho 9 - Programming - Dạy Nhau Học Có thể bạn quan tâm đếm Xem Có Bao Nhiêu Từ Trong S. Xuất Các Từ Trên Các Dòng Liên Tiếp đếm Xem Trong Mảng Có Bao Nhiêu Số Nguyên Tố đếm Xem Trong Xâu Có Bao Nhiêu Ký Tự Số đêm Xe Oto đệm Xe ô Tô Hỏi code đếm các số chia hết cho 9 programming c++ AngryAnt (Lê Ngọc Nam) February 9, 2022, 2:49pm #1 Em muốn chương trình đếm số các số chia hết cho 9 em cho nó vào array và sử dụng sizeof() để đếm các số chia hết cho 9 nhưng nó chỉ in ra số 1 giúp em với ạ int a,b,i; int numbers[]={i}; cin >>a>>b; for (i=a; i<=b; i++) if (i%9==0){ cout << sizeof(numbers)/sizeof(numbers[0]); } sbgssol (lee) February 9, 2022, 2:56pm #2 Bạn muốn: Đếm xem có bao nhiêu số trong khoảng [a:b] chia hết cho 9? Thứ nhất: int a,b,i; int numbers[]={i}; // i = ? Thứ hai: cout << sizeof(numbers)/sizeof(numbers[0]); // In ra kích thước của mảng numbers // numbers chỉ đang chứa i thôi, in ra 1 là đúng rồi còn gì? Thứ ba: Cách bạn đếm là thế nào? Tui chỉ thấy bạn in ra kích thước của mảng numbers thôi, không có chỗ nào gọi là đếm cả? 2 Likes AngryAnt (Lê Ngọc Nam) February 9, 2022, 4:24pm #3 cảm ơn bạn mình đã cố sử dụng array vì mình nghĩ sizeof() có thể đếm số trong array nhưng đây là số mình nhập vào nên không biết giới hạn mà array phải biết giới hạn thì mới dùng được trong C++ nhưng sau khi tham khảo ở một số forum khác thì mình đã tìm ra cách giải cảm ơn bạn đã chỉ ra lỗi sai cho mình #include <iostream> #include <vector> #include <utility> int main() { int a = 0, b = 0; std::vector<int> numbers; const int divisor = 9; std::cout << "Enter two integer numbers: "; std::cin >> a >> b; if ( b < a ) std::swap( a, b ); for ( int i = a; not ( b < i ); ++i ) { if ( i % divisor == 0 ) numbers.push_back( i ); } std::cout << "There are " << numbers.size() << " numbers divisible by " << divisor << " in the range [" << a << ", " << b << "]\n"; } mình đã sử dụng std::vector để đếm các số chia hết cho 9 mình đã nhập vào SITUVN.gcd (SITUVNgcd) February 9, 2022, 4:34pm #4 Bài này đâu cần đến mảng và cũng không cần lặp qua từng số trong đoạn [a,b]. Rõ là một số chia hết cho 9 thì cộng thêm các bội số của 9 đều chia hết cho 9. Mã giả: input(a, b) for(i = (int(a/9) + ((a%9) != 0)) * 9; i <= b; i+=9){ print(i) } 3 Likes nguyenchiemminhvu (NCMV) February 11, 2022, 1:57pm #5 (Edited the formula as suggestion of @rogp10) Nếu yêu cầu chỉ là đếm số lượng các phần tử chia hết cho 9 trong khoảng từ A đến B, thì mình có thể áp dụng công thức luôn chứ không cần lặp để đếm, và công thức có thể áp dụng cho một số N nguyên dương bất kỳ chứ không hẳn phải là 9. R = (B / N - A / N) + (A % N == 0); Ví dụ: N = 1, range [5, 10] => R = 10 / 1 - 5 / 1 + 1 = 6 N = 2, range [5, 10] => R = 10 / 2 - 5 / 2 + 0 = 3 int CountNumbersDivideByN(int A, int B, int N) { return (B / N - A / N) + (A % N == 0); } (Vì phép chia số nguyên kiểu int trong máy tính khác với phép chia trong toán học nên không thể rút gọn biểu thức thành (B - A) / N được nha) 4 Likes rogp10 (rogp10) February 14, 2022, 12:56pm #6 Không đúng, A = 5 B = 27 N = 9. Sửa lại thành return (B / N - A / N) + (A % N? 0 : 1) nhé. Tức là nếu A chia hết cho N thì tính vào luôn Mình thì làm ntn: Nếu A không chia hết cho 9 thì ta lấy số lớn hơn gần nhất chia hết cho 9 là A’. Nếu B không chia hết cho 9 thì ta lấy số bé hơn gần nhất chia hết cho 9 là B’. Như vậy công thức là \frac{B' - A'}{N} + 1 edit: Không cần lấy B’ (do A’ chia hết cho N nên số dư của B không ảnh hưởng), chỉ cần thay bằng phép chia nguyên: \begin{aligned} &\ \left \lfloor \frac{B - A'}{N} \right \rfloor + 1\\ \cr[-0.7em] &= \left \lfloor \frac{B' + r_B - A'}{N} \right \rfloor + 1,\ 0 \leq r_B < N\\ \cr[-0.7em] &= \left \lfloor \frac{B' - A'}{N} + \frac{r_B}{N}\right \rfloor + 1, \ 0 \leq r_B < N\\ \cr[-0.7em] &= \frac{B' - A'}N + 1 \end{aligned} 6 Likes nguyenchiemminhvu (NCMV) February 11, 2022, 2:07pm #7 Ý tưởng tìm số chia hết cho N gần với A, B nhất để ráp vào công thức của @rogp10 cũng khá hay: int CountNumbersDivideByN(int A, int B, int N) { A += (N - A % N); B -= (B % N); //cout << A << " " << B << endl; return (B - A) / N + 1; } 4 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 » đếm Xem Có Bao Nhiêu Số Chia Hết Cho 3 Đếm Xem Có Bao Nhiêu Số Chia Hết Cho 3 Mà Ko ... Từ 1 đến 999 Có Bao Nhiêu Số Chia Hết Cho 3 Hoặc 5 Hoặc 7. - Olm Viết Thuật Toán để đếm Các Số Chia Hết Cho 3 Của Dãy Số - MTrend Viết Chương Trình Nhập Vào Mảng A Gồm N Phần Tử. Đếm ... - Hoc24 Từ 1 đến 100 Có Bao Nhiêu Số Chia Hết Cho3? Có Bao ... Đếm Xem Có Bao Nhiêu Số Chia Hết Cho 3 - Cộng đồng C Việt Viết Chương Trình đếm Các Số Chia Hết Cho 3 Và 5 Từ M –> N, M N Là ... Từ 1 đến 100 Có Bao Nhiêu Số Chia Hết Cho 9, Bao ... Viết Chương Trình đếm Các Số Chia Hết Cho 3 Từ 1 đến 100. Kết Quả ... Có Bao Nhiêu Số Nguyên Từ 100 đến 200 Chia Hết Cho 3? Viết Chương Trình Nhập N Số Nguyên đếm Xem Có Bao Nhiêu Số Chia ... Bài Tập : Viết Chương Trình In Ra Màn Hình Các Số Chia Hết Cho 3 Trong ... Viết Chương Trình In Ra Các Số Chẵn Chia Hết Cho 3 Từ 1 đến 100 Và ... Viết Chương Trình Nhập Vào Số N đếm Xem Từ 1 đến N Có Bao Nhiêu ... Viết Chương Trình đếm Xem Cơ Bao Nhiêu Số Chia Hết Cho 3 Hoặc 7 ... Viết Chương Trình Nhập Vào N Một Số Nguyên đếm Xem Có Bao Nhiêu ... Trong Các Số Tự Nhiên Có Ba Chữ Số, Có Bao Nhiêu Số : A) Chia Hết ...