![]() |
|
|
Thread Tools |
|
#1
|
|||
|
|||
|
giải giúp em 2 bài pascal này
1. e(n)=1+1/1!+1/2!+...+1/n!+... cho đến khi 1/n! < 2x10^-6
sử dụng for to do hoặc while do nhé anh 2. 1 người gửi tiết kiệm ko kì hạn với số tiền A đồng với lãi suất 0.3% mỗi tháng. Hỏi sau bao nhiu tháng, người đó rút hết tiền thì sẽ nhận đc số tiền ít nhất là B đồng? Biết rằng với việc gửi tiết kiệm ko kì hạn thì lãi ko đc cộng vào vốn. sử dụng câu lênh while do nhé cảm ơn, mai em kiểm tra 1 tiết rồi
__________________
[QUOTE=con ga pc;16046532]=)). Thằng bạn cho xem Kim Bình Mai, đến cuối mình lăn ra cười: sub được dịch và hoàn thành bởi [B]Trác Đông Lai[/B]...VozForums.com.lol[/QUOTE] |
| avada_kedavra |
| View Public Profile |
| Find all posts by avada_kedavra |
|
#2
|
|||
|
|||
|
Re: giải giúp em 2 bài pascal này
cho ké phát nhé :
convert số từ binary qua decimal và ngược lại // cho em xin cái ý tưởng
|
|
#3
|
||
|
||
|
Re: giải giúp em 2 bài pascal này
Pascal thì mình chịu rồi, nếu là C++/C#/Java thì mình còn giúp được
![]() Quote:
Quote:
|
| Keyboárd C@t |
| View Public Profile |
| Find all posts by Keyboárd C@t |
|
#4
|
||
|
||
|
Re: giải giúp em 2 bài pascal này
Quote:
![]() 1. Từ decimal sang binary: cái này thì đơn giản, cứ div liên tục cho 2 đến khi nào giá trị bé hơn 2, mỗi lần div thì lưu kết quả của phép mod 2 vào 1 mảng buffer, đến lúc chia xong thì đọc ngược từ cuối. Nhớ có 1 biến lưu số lần lặp để đọc ngược mảng. 2. Từ binary sang decimal: trường hợp này nên chuyển sang dạng string để đếm số chữ cái, giả sử là n. Dùng 1 vòng lặp để tính giá trị hệ số ban đầu là hs:=2^(n-1). Sau đó thì cứ lấy từng kí tự của string đấy, chuyển sang dạng số, rồi nhân với hs, sau mỗi lần lặp như vậy thì giảm hệ số đi 2 lần (nên dùng phép div), cứ thế cho đủ n lần là sẽ ra số dec thôi mà Good luck
|
|
#5
|
|||
|
|||
|
Re: giải giúp em 2 bài pascal này
e(n)=1+1/1!+1/2!+...+1/n!+... cho đến khi 1/n! < 2x10^-6
//chả hiểu là tính e(n) hay tìm n? thôi làm cả 2 user crt; {cho máu} var n:integer; en:real; function giaithua(a:integer) begin if a<=1 giaithua:=1 else giaithua:=a*giaithua(a-1); end; begin en:=0; n:=0; whilte((1/giaithua(n))>=0.000002) do begin en:=en+1/giaithua(n); n:=n+1; end; writeln('e(n)=',en); writeln('n=',n); readln; end. Code trên chưa test trên pascal, và cũng lâu lắm rồi ko dùng pascal, nếu sai bạn tự sửa lại nhé, nhưng đại khái là thế
__________________
[CENTER]Dẫu hiên ngang giữa đất trời Vợ ngu bạn đểu thì đời cũng xong[/CENTER] [QUOTE=LyLys;45500327]80k bằng tay, 130k bằng miệng,boa tùy hỉ[/QUOTE] Ngang nhiên chào hàng online |
| anhdangtimvo |
| View Public Profile |
| Find all posts by anhdangtimvo |
|
#6
|
|||
|
|||
|
Re: giải giúp em 2 bài pascal này
bài 1:(ý tưởng cho bạn thôi nhé, mình bỏ pascal cũng 4 năm rồi)
i:=0; s:=1; stop:=2/1000000; while (true) do begin i++; gt:=1; for j:=1 to i do gt=gt*j; gt:=1/gt; if (gt sau vòng lập s là tổng cần tìm bài 2: mình nghĩ là quá dễ vì nếu lãi không cộng vào gốc => số tiền lãi một tháng là cố định, thì bạn cứ lấy B trừ A là ra số tiền lãi tổng cộng. Sau đó lấy tổng tiền lãi đó chia cho lãi 1 tháng là ra số tháng mà!!! |
|
#7
|
||
|
||
|
Re: giải giúp em 2 bài pascal này
Quote:
Với mẫu số của các phần tử trung chuỗi khai triển ta sẽ gán giá trị ban đầu là 1, sau mỗi lần lặp thì nhân thêm với bước lặp. Vd: 1, 1.2, 1.2.3, 1.2.3.4
|
|
#8
|
|||
|
|||
|
Re: giải giúp em 2 bài pascal này
Quote:
Quote:
![]() //giờ thì đi học tối về spam típ
|
|
#9
|
|||
|
|||
|
Re: giải giúp em 2 bài pascal này
mấy bài này thường được lấy ví dụ khi học về stack . Mở bài stack ra thế nào chẳng có .
|
![]() |
| Thread Tools | |
|
|