Mọi người cho em xin ý tưởng để giải quyết bài toán này với ạ!
Giúp tìm ra ý tưởng thuật toán cho bài "nhân kiểu mới"
Bạn có thể chuyển được 1 số nguyên thành mảng các chữ số không?
chuyển như thế nào vậy ạ
trong c++ có hàm sẵn không hay mình phải tự viết vậy ạ
anh có thể nói qua các bước cần làm để hoàn thành bài này không ạ
còn cụ thể em sẽ tự tìm hiểu và tự code ạ
giờ cho bạn 2 mảng số nguyên
a = [1,2,3]
b = [4,5]
sẵn như vậy, bạn có thể tính tổng thành 54 như ví dụ không?
mình có thể vấn đề chắc là cách để chuyển hai số nguyên thành mảng thôi
thì dùng phép lặp, mỗi lần lặp lấy 1 số bỏ vô mảng?
123 chia 10 được 12 dư 3 bạn làm được không?
lấy số 3 thêm vào mảng a
còn lại số 12, lại làm tiếp như thế,
12 chia 10 được 1 dư 2, lại lấy số 2 bỏ vô mảng
còn lại 1 chia 10 được 0 dư 1, lấy số 1 bỏ vô mảng
lúc này thì số còn lại là 0, nên nghỉ
thế là được mảng 1 2 3
À ra là vậy, mình hiểu ròii cảm ơn bạn nhiều nhaa
Khi thực hiện nhập, em đọc chuỗi “123” thay vì số 123. Chuỗi bản thân là mảng rồi.
em sợ khi nhập chuỗi thì sẽ không tính toán được ạ
Bạn có được phép dùng đến “ép kiểu” (Type Casting) hoặc hàm stoi(“123”) chưa? Hoặc dùng thoải mái nhưng chưa biết? Hàm stoi(“123”) cho ra số int = 123, bạn có thể tính toán được.
thật ra có 1 cách dễ hơn
đó là (1+2+3)*(4+5)
nên chả cần cái mảng nào cả
thay vì thêm vào mảng, thì cộng vào tổng
Ỏ ~ em đã full test bài kia rồi, cảm ơn mọi người nhiều ạ, em vừa ngộ ra nhiều chân lí mới đấy, hóa ra C++ có những hàm có sẵn như vậy, em sẽ tìm hiểu kĩ hơn trước khi đưa ra câu hỏi ạ.
Chữ số bạn trừ '0'
là ra số thôi.
Hmm… tớ chưa hiểu lắm
Chữ số bạn trừ
'0'
là ra số thôi.
Hmm… tớ chưa hiểu lắm
You know that the encoding for computers is ANSI (AMERICAN NATIONAL STANDARDS INSTITUTE) and the representable numbers 0…9 are encoded in hexadecimal numbers x30 … x39. If you perform an abstraction from 9-0, you get hexadecimal numbers 9.
x39 - x30 = x09
Trong bảng ký tự latin, ký tự từ 0 đến 9 sắp liền kế nhau và có giá trị từ 48 đến 58.
Do vậy để chuyển từ ký tự số ra giá trị số ta chỉ cần trừ nó cho 48 hoặc trừ cho ‘0’. Bởi vì ‘0’ cũng chính là 48.
Lão nói cái này mà với những bạn không có học về kiến trúc máy tính và cách máy tính làm việc với các con số nhị phân, bát phân (octave), HEX,… thì cứ gọi là… vỡ mật.
Thôi xem cái bảng này cho dễ:
Dec: giá trị cơ số 10.
Hex: giá trị hệ hexa.
Char: ký tự.
Như trên hình thì ký tự ‘0’ tương đương 0x30 của hệ hexa và số 48 của hệ 10.
À dạ, nghe mọi người giải thích kết hợp với tìm hiểu trên mạng em cũng hiểu sương sương rồi ạ
Uầyy công nhận để mà đi sâu vào học mấy cái này thì cũng không dễ như em tưởng. Nhưng mà thú vị thật đấy
Không biết trong tương lai em có đủ năng lực và đủ đam mê để tiếp tục theo đuổi ngành này không nữa