Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/
@htuanqn11 ай бұрын
cảm thán luôn, hay quá a ạ
@28tech_11 ай бұрын
Cảm ơn em hehe
@TuanDuong-ne6qu2 күн бұрын
Bài38: (j*10 + num(s[i])) % n nghĩa là khi thêm s[i] vào cuối xâu con (nhân 10) để xem các sâu con từ vi trí bắt đầu tới i-1 (có thể xâu con không liên tiếp) chia n dư j khi thêm s[i] vào cuối xâu thì sẽ có số dư mới là bao nhiêu à a ?
@tano65872 ай бұрын
anh ơi mầy file bài tập này lấy ở đâu vậy ạ
@quyle21852 жыл бұрын
a chỉ rõ cho em bài cuối chỗ hàm comp đc k anh nó lấy những cái xâu con từ cái xâu ban đầu theo thứ tự nào để so sánh ạ
@28tech_2 жыл бұрын
Em chỉ cái thời gian mà em hỏi ấy a mới check được.
@quyle21852 жыл бұрын
@@28tech_ 1:15:15 ấy anh trong hàm comp vd cái 564 56 560 thì cái string a, string b sẽ được lấy từ chuỗi ban đầu như nào ạ
@BaoNguyên-u7q2t5 ай бұрын
Anh có giải bài nào như bài 38 mà từ đề bài từ xâu con có thể chứa các kí tự liên tiếp nhau đổi, thành xâu con không chứa các kí tự liên tiếp nhau không anh?
@HatGiongTamHon896 Жыл бұрын
Ở bài 34 nếu trường hợp dư của a cho m lớn hơn 10 mũ 9 thì hàm binpow của a sẽ tràn long long a ạ
@quanohong73933 жыл бұрын
Em đợi từ sáng ạ
@28tech_3 жыл бұрын
Uh đợi chút nữa nó đẩy HD là xem ok.
@namnguyenthien42362 ай бұрын
mấy bài này khó quá huhu
@28tech_2 ай бұрын
Mạnh mẽ lên :D
@tuanduy1033 Жыл бұрын
I really appreciate it
@truong62013 жыл бұрын
anh ơi bài số nhị phân chia hết cho 5 ấy ạ, ý tưởng của code là nhuq nào mà duyệt từ trái sang phải vậy ạ
@28tech_3 жыл бұрын
A duyệt từ phải sang ấy chứ
@truong62013 жыл бұрын
@@28tech_ dạ ko ý bài code mẫu anh để link trong file bài tập ấy ạ
@SieuTrom-3 жыл бұрын
Anh cho em hỏi nhập input ko biết trước số lượng phần tử thì bên C++ có dùng scanf()!=-1 như bên C ko ạ! Hay là có cách làm khác nữa!!!
@28tech_3 жыл бұрын
Uh a cũng hay dùng cách đó, hoặc e đọc cả dòng rồi tách cũng được, thường thì a đọc cả dòng rồi tách.
@28tech_3 жыл бұрын
Em gửi đề bài đi mới dễ nói :D
@SieuTrom-3 жыл бұрын
@@28tech_ vâng a, tại em cứ tưởng bên C++ có cách nhập khác nữa
@hobinh87442 жыл бұрын
anh ơi cho em hỏi ở bài 34. sau khi tìm được dư thì thay vì dùng lt nhị phân em có thể for(i đến b) rồi phần dư * phần dư xong mod cho số đầu bài thì có khả năng tràn bộ nhớ không anh nhỉ?
@28tech_2 жыл бұрын
Em test thử đi, anh lâu quá ko nhớ bài 34 là bài gì
@hobinh87442 жыл бұрын
@@28tech_ à dạ, em cảm ơn anh
@BaoNguyên-u7q2t5 ай бұрын
Quy hoạch động khó thật a ạ
@Jadenyuki6768 ай бұрын
Bài 38 nghĩ nát óc cũng k hiẻu luôn á :((
@xuanthu_20023 жыл бұрын
Góp ý bài số may mắn chỉ cần dùng while tính tong = sum(tong) đến khi tong còn 1 chữ số nếu nó = 9 là được.
@28tech_3 жыл бұрын
Uh đúng rồi, cơ mà kiến thức về nén kĩ thuật số đó thì lại phải nói thêm. :D
@truong62013 жыл бұрын
là làm như này phải ko anh #include #include using namespace std; int num(char c){ return c - '0'; } string sum(string s){ int res = 0; for(int i = 0; i < s.length(); i++){ res += num(s[i]); } string x = to_string(res); return x; } void solve(string s){ while(s.length() != 1){ s = sum(s); } if(s[0] == '9'){ cout s; solve(s); } return 0; }
@khanhle79542 жыл бұрын
hay quá. mong a ra nhiều thuật toán hơn nữa
@haminh62193 жыл бұрын
Bài đếm số xâu con chia hết cho N sao dp[j*10+num(s[i]))%n] +=dp[i-1][j] ạ, e chưa hiểu chỗ đó lắm
@28tech_3 жыл бұрын
Nó dựa vào kiến thức tìm số dư khi chia 1 số lớn cho 1 số tự nhiên. www.geeksforgeeks.org/program-quotient-remainder-big-number/
@phanvantai94523 жыл бұрын
Bài 38 á anh. Em ko hiểu tại sao số xâu kết thúc tại vị trí i mà có số dư là (j*10+...) lại cộng dồn với số xâu kết thúc tại vị trí (i-1) chia n dư j. Hai cái này khác nhau về số dư mà anh. Mong anh giải thích giúp em
@28tech_3 жыл бұрын
trước hết em phải biết cách tìm số dư của 1 số nguyên lớn vs 1 số int hoặc long long thì sẽ hiểu được cái công thức đó.
@28tech_3 жыл бұрын
e có thể tìm ở trong phần xâu kí tự ở C của anh có hướng dẫn cái bài đó.
@phanvantai94523 жыл бұрын
Em có biết cách tìm số dư rồi là kiểu dùng 1 hàm Cho ans=0 duyệt for ans=ans*10+....... Chứ em chưa thấy làm kiểu đó
@taiphanvan24033 жыл бұрын
@@28tech_ ALo anh còn thấy tin nhắn của em ko anh.Em cmt ở dưới ấy
@taiphanvan24033 жыл бұрын
Bài 38 em làm cách này em xem độ phức tạp có lớn ko anh? int cnt= 0; ll sodu(string x, int n) { ll res = 0; for (int i = 0; i < x.size(); i++) { res = res * 10 + x[i] - '0'; res %= n; } return res; } void dem(string x,string tam,int vt,int n) { For(i, vt, x.size()) { if (sodu(tam+x[i],n) == 0) cnt++; dem(x, tam + x[i], i + 1, n); } }