banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows ai chỉ giúp e bài lập trình c này với  XML
  [Programming]   ai chỉ giúp e bài lập trình c này với 06/03/2009 10:57:17 (+0700) | #1 | 172080
anglezerohacker
Member

[Minus]    0    [Plus]
Joined: 06/10/2008 18:47:54
Messages: 6
Offline
[Profile] [PM] [Email]
s(n)=1+2!+4!+6!+...+2n!
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 06/03/2009 12:56:33 (+0700) | #2 | 172101
lamer
Elite Member

[Minus]    0    [Plus]
Joined: 26/02/2008 13:28:49
Messages: 215
Offline
[Profile] [PM]
Dùng vòng lặp để tính giai thừa của i. Nếu i là chẵn thì cộng giá trị giai thừa đó vào s cho đến khi đụng phải 2n.

Bài này chắc chắn phải dùng tới số lớn ví dụ như thư viện GMP.
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 06/03/2009 13:42:36 (+0700) | #3 | 172111
VaT
Member

[Minus]    0    [Plus]
Joined: 04/09/2008 00:17:52
Messages: 87
Offline
[Profile] [PM]
Nếu không dùng thư viện thì có thể sử dụng Array và String để làm. Chủ yếu là để tập làm về thuật toán.
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 06/03/2009 13:53:29 (+0700) | #4 | 172112
seraphpl
Member

[Minus]    0    [Plus]
Joined: 04/12/2006 19:52:12
Messages: 97
Location: xxx
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]

VaT wrote:
Nếu không dùng thư viện thì có thể sử dụng Array và String để làm. Chủ yếu là để tập làm về thuật toán. 

bài này tập về kĩ năng code chứ có gì nhiều về thuật toán đâu nhở
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 06/03/2009 15:45:10 (+0700) | #5 | 172115
VaT
Member

[Minus]    0    [Plus]
Joined: 04/09/2008 00:17:52
Messages: 87
Offline
[Profile] [PM]
- Thì thuật toán tính n! smilie
- Thêm thuật toán nhân 2 số lớn smilie.
Quan trọng là thuật toán có tối ưu không smilie. Nếu bạn làm với số n nhỏ thì sẽ không thấy rõ, nhưng thử cho n lớn một chút thì chắc sẽ nhức đầu lắm đó smilie
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 06/03/2009 23:29:24 (+0700) | #6 | 172123
khanh120
Member

[Minus]    0    [Plus]
Joined: 06/03/2009 10:59:50
Messages: 7
Offline
[Profile] [PM]
[code]
đây là code ở đoạn xữ lý
{
long tong=0;
long giaithua=1;
for(int i=0;i<n;i++)
giaithua=giaithua*i;
tong+=giaithua;
return tong;
}
cái này mới nghĩ ra còn đúng không thì chưa chắc smilie
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 07/03/2009 00:34:43 (+0700) | #7 | 172137
FaL
Moderator

Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
[Profile] [PM]

khanh120 wrote:
[code]
đây là code ở đoạn xữ lý
{
long tong=0;
long giaithua=1;
for(int i=0;i<n;i++)
giaithua=giaithua*i;
tong+=giaithua;
return tong;
}
cái này mới nghĩ ra còn đúng không thì chưa chắc smilie  

Sai là cái chắc smilie
Hãy giữ một trái tim nóng và một cái đầu lạnh
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 07/03/2009 01:11:27 (+0700) | #8 | 172140
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]
tác giả topic đâu rồi nhỉ. Tui nghĩ ko nên "code dùm" những câu hỏi như vầy vì cuối cùng chẳng rèn luyện được gì cho tác giả.
Hibernating
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 07/03/2009 01:48:55 (+0700) | #9 | 172145
[Avatar]
luugu
Member

[Minus]    0    [Plus]
Joined: 01/03/2009 20:35:15
Messages: 3
Offline
[Profile] [PM]
Có lẽ nên dùng hàm tính giai thừa thì hơn,sau đó thì dùng lệnh for ,kiểm tra biến n của hàm n!,xem có chẵn hay không,nếu lẻ thì bỏ qua và tính tiếp,đây là hàm tính giai thừa này,còn đoạn sau thì bạn tự viết nhé!
#include<stdio.h>
long int GT(int n)
{ int i;
long int GT=1;
if(n>1) for(i=0;i<=n;i++) GT*=i;
return GT;
}
void main()
.....................
Hoặc dùng đệ quy:
long int GT(int n)
{ if(n==0) return 1;
else return n*GT(n-1);
}
Tuy nhiên dùng đệ quy hay bị lỗi overflow
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 07/03/2009 02:15:46 (+0700) | #10 | 172146
anglezerohacker
Member

[Minus]    0    [Plus]
Joined: 06/10/2008 18:47:54
Messages: 6
Offline
[Profile] [PM] [Email]
cảm ơn mấy bạn đã giúp đỡ
nhưng cái bài này mình muốn chỉ dùng vòng lập while thôi
không biết có viết được không
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 07/03/2009 02:56:37 (+0700) | #11 | 172147
[Avatar]
luugu
Member

[Minus]    0    [Plus]
Joined: 01/03/2009 20:35:15
Messages: 3
Offline
[Profile] [PM]
thì mấy lệnh lặp có khác nhau mấy đâu,while của bạn đây :
#include<stdio.h>
void main()
{ int n,i=0,gt=1;
printf("n="); scanf("%d",&n);
while(i<n)
{ i++;
gt*=i;
}
printf(" giai thua bang: %d",gt);
getch();
}
Hoặc nếu bạn muốn dùng do while thì đây:
#include<stdio.h>
void main()
{ int n,i=0,gt=1;
printf("n="); scanf("%d",&n);
do { i++;gt*=i; } while (i<n);
printf(" giai thua bang: %d",gt);
getch();
}






[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 07/03/2009 11:04:14 (+0700) | #12 | 172213
khanh120
Member

[Minus]    0    [Plus]
Joined: 06/03/2009 10:59:50
Messages: 7
Offline
[Profile] [PM]
[code]
#include<stdio.h>
long int GT(int n)
{ int i;
long int GT=1;
if(n>1) for(i=0;i<=n;i++) GT*=i;
return GT;
}
nếu vậy cũng tiu
ghi như trên thì GT=0 rồi tính gì nữa

rất ngố
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 07/03/2009 11:30:34 (+0700) | #13 | 172215
khanh120
Member

[Minus]    0    [Plus]
Joined: 06/03/2009 10:59:50
Messages: 7
Offline
[Profile] [PM]
[code]
mình xin viết lại code đúng ( hồi sáng đọc lộn đề )
#include<stdio.h>
void main()
{
int n;
printf("\n moi nhap n =");
scanf("%d",&n);
int S=1,t;
printf("\n1");
for(int i=1;i<=n;i++)
{
t=1;
for(int j=1;j<=2*i;j++)
t=t*j;
printf("+ %d ",t);
S=S+t;
}
printf("= %3d ",S);
}
[Up] [Print Copy]
  [Question]   Re:ai chỉ giúp e bài lập trình c này với 07/03/2009 13:36:52 (+0700) | #14 | 172225
[Avatar]
luugu
Member

[Minus]    0    [Plus]
Joined: 01/03/2009 20:35:15
Messages: 3
Offline
[Profile] [PM]
Nhầm rồi,xin lỗi,tại lâu rồi mình không đụng j đến C cả, xin sửa lại lệnh for là: for(i=1;i<=n;i++)
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 11/03/2009 02:41:50 (+0700) | #15 | 172739
khanh120
Member

[Minus]    0    [Plus]
Joined: 06/03/2009 10:59:50
Messages: 7
Offline
[Profile] [PM]
tự nhiên càng ngày càng vắng là sao
[Up] [Print Copy]
  [Question]   Re: ai chỉ giúp e bài lập trình c này với 11/03/2009 03:01:40 (+0700) | #16 | 172744
FaL
Moderator

Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
[Profile] [PM]

khanh120 wrote:
tự nhiên càng ngày càng vắng là sao 

Ý bồ là sao? Sao lại phán 1 câu không đầu không đũa vậy?
Hãy giữ một trái tim nóng và một cái đầu lạnh
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|