The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features
See the new ForumsYou need to be logged in to post in the forums. If you do not have an account, please sign up first.
Giải bài đảo số ( 123456 -> 654321)
Theo Bình thì giải như thế này:+Ban đầu cho vào vòng lặp for , gán số sobd=số đã nhập, kiểm tra số bobd>0 , sobd=(sobd-sotach) mod 10.
-Đầu tiên ta phải mod cho 10 để lấy số hàng đơn vị.
-Số đầu trừ đi số là tách ra được tất cả chia cho 10 lại cứ như thể sẽ lấy tất cả các số.
-Và cứ mỗi lần lấy ra 1 số ta gắn nó vào chuỗi ; chuoi=chuoi+sotach.
-Cuối cùng ta chuỗi của mình sang số bằng Number(chuoi);
ví dụ cho số 3568
+Ban đầu 3568 mod 10 = 8; (sobd=3568)
ta sobd=(sobd-8)mod 10 =356 ; (khi đo sobd= 356);
==>ta tách được 8 => ta gán vào chuỗi chuoi=8;
+Tiếp tục vòng lặp sobd mod 10 = 6 ;
lúc này sobd=(sobd-6)/10 = 56; (sobd=35).
==>ta tách được 6==> gán vào chuỗi chuoi =86
+Tiếp tục vòng lặp sobd mod 10=5 ;
lúc này sobd=(sobd-5)/10=3 (sobd=3);
===>ta tách được 5 gán vào chuỗi chuoi =865
+tiếp tuc sobd mod 10 = 3 ;
lúc này (sobd -3) /10=0; (sobd=0).
==>ta tách được 3 ==> gán vào chuỗi chuoi =8653
+Tiếp tục vòng lặp thì sobd=0(sẽ ko thỏa điều kiện sobd>0) nên break thoát khỏi vòng vòng.
code như sau:
var so:int;
var somod:int=10;
var sodao:int;
var sotach:int;
var chuoi:String="";
so=123456789;
trace("so ban đầu: " + so);
for(var i:int=1;i>0;i++)
{
if(so>0)
{
//lấy số tách
sotach=so%somod;
// gán lại số ban đầu
so=(so-sotach)/somod;
//gán chuỗi
chuoi=chuoi+sotach;
}else{
//không thỏa điều kiện thoát vo2g lặp
break;
}
}
//in chuỗi số ra xen
trace("chuỗi lúc này: " + chuoi);
//chuyển từ chuỗi sang số number
sodao=Number(chuoi);
trace("so đảo được: " + sodao);
//dùng stop để chương trình chạy 1 lần
stop()
Tải file : http://www.mediafire.com/?tk8mdjfly2e2eqh
Như bạn Chinh trong lớp thắc mắc tại sao phải đảo số cho 10
Bình xin trả lời như sau:
Giữa số hàng chục với đơn vị gấp 10 lần nên phải mod cho 10 để để lấy được số hàng đơn vị.
ví du:
+ 3589 thì mod 10 => số tách =9
+Gán số ban đầu lại phải 358 để mod lại được 8, nên ta phải (3589-9)/10 =358, số 9 là số vừa tách ra.
Bình xin trả lời như sau:
Giữa số hàng chục với đơn vị gấp 10 lần nên phải mod cho 10 để để lấy được số hàng đơn vị.
ví du:
+ 3589 thì mod 10 => số tách =9
+Gán số ban đầu lại phải 358 để mod lại được 8, nên ta phải (3589-9)/10 =358, số 9 là số vừa tách ra.