Read-only archive. Login and posting are unavailable.
Reply
 
Thread Tools
  #1  
Old 14-01-2010, 20:32
avada_kedavra's Avatar
Senior Member
Join Date: 08-2009
Posts: 1,832
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]
Reply With Quote
  #2  
Old 14-01-2010, 21:01
NTa6's Avatar
Senior Member
Join Date: 11-2009
Posts: 938
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
Reply With Quote
  #3  
Old 14-01-2010, 21:06
Senior Member
Join Date: 12-2009
Posts: 1,757
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:
Originally Posted by NTa6 View Post
cho ké phát nhé :

convert số từ binary qua decimal và ngược lại

// cho em xin cái ý tưởng
Quote:
input: binary ( string)
output: decimal ( number)
variables: c ( number), factor (number)

decimal = 0
factor = 1

for each char in binary starting with the last one
{
- take the character for the current step from binary
- convert it to number ( in variable c). It must be 0 or 1 otherwise the number is not in binary format
- decimal = decimal + b*factor

- factor = factor * 2
}
Reply With Quote
  #4  
Old 14-01-2010, 21:13
Member
Join Date: 12-2009
Posts: 60
Re: giải giúp em 2 bài pascal này

Quote:
Originally Posted by NTa6 View Post
cho ké phát nhé :

convert số từ binary qua decimal và ngược lại

// cho em xin cái ý tưởng
Mình lâu cũng ko viết pascal nên đành nêu thuật toán thôi vậy. Bạn dùng được thì dùng nhé
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
Reply With Quote
  #5  
Old 14-01-2010, 21:15
anhdangtimvo's Avatar
K.I.A
Join Date: 02-2008
Posts: 928
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
Reply With Quote
  #6  
Old 14-01-2010, 21:19
codushi's Avatar
Senior Member
Join Date: 07-2007
Posts: 952
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à!!!
Reply With Quote
  #7  
Old 14-01-2010, 21:19
Member
Join Date: 12-2009
Posts: 60
Re: giải giúp em 2 bài pascal này

Quote:
Originally Posted by anhdangtimvo View Post
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ế
Bài này thực ra có thể làm mà không cần dùng đến hàm giai thừa.
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
Reply With Quote
  #8  
Old 15-01-2010, 07:23
NTa6's Avatar
Senior Member
Join Date: 11-2009
Posts: 938
Re: giải giúp em 2 bài pascal này

Quote:
Originally Posted by Keyboárd C@t View Post
Pascal thì mình chịu rồi, nếu là C++/C#/Java thì mình còn giúp được
Quote:
Originally Posted by dacaubong View Post
Mình lâu cũng ko viết pascal nên đành nêu thuật toán thôi vậy. Bạn dùng được thì dùng nhé
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
Thanks a bro nhá, đã ra

//giờ thì đi học tối về spam típ
Reply With Quote
  #9  
Old 15-01-2010, 07:55
sheva's Avatar
Đã tốn tiền
Join Date: 07-2006
Posts: 964
Re: giải giúp em 2 bài pascal này

Quote:
Originally Posted by NTa6 View Post
cho ké phát nhé :

convert số từ binary qua decimal và ngược lại

// cho em xin cái ý tưởng
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ó .
Reply With Quote
Reply

« Previous Thread | Next Thread »

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT +7. The time now is 12:53.