Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Tính S=1-1/2!+1/3!

  1. #1
    Ngày gia nhập
    12 2011
    Bài viết
    3

    Mặc định Tính S=1-1/2!+1/3!

    Code:
    #include<conio.h>
    #include<stdio.h>
    int giaithua(int n)
    {
    	int i,gt=1;
    	for(i=1;i<=n;i++)
    		gt*=i;
    	return gt;
    }
    void main()
    {
    	int i,n,a=1;
    	float tong=0;
    	printf("nhap so nguyen n\t");
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		if(i%2==0) a=-1;
    		tong+=a/giaithua(i);
    	}
    	printf("\n%2.2f",tong);
    	getch();
    }
    Mọi người sửa sai giùm e với, cái cho a=1 e thấy ko ổn chút nào, mọi người cho e cách làm khác lun đi. E đọc code thấy cũng đc mà sao tự nhiên chạy nó lại sai, hjx

  2. #2
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Mặc định trả lời

    bạn sửa những thứ sau:
    chỉnh lại kiểu trả về của hàm giaithua là float
    câu lệnh if thì sẽ là if(i%2==0) a=-1; else a=1;
    cho nên bỏ phép gán a=1 ở đầu đi
    chúc bạn thành công!

  3. #3
    Ngày gia nhập
    12 2011
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi messi_a2pro Xem bài viết
    bạn sửa những thứ sau:
    chỉnh lại kiểu trả về của hàm giaithua là float
    câu lệnh if thì sẽ là if(i%2==0) a=-1; else a=1;
    cho nên bỏ phép gán a=1 ở đầu đi
    chúc bạn thành công!
    Cho mình hỏi
    chỉnh lại kiểu trả về của hàm giaithua là float là viết như thế nào, bạn có thuật toán nào hay hơn để làm bài này ko thì chỉ mình vs, cách này dở wá. Hjx

  4. #4
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Cho mình hỏi
    chỉnh lại kiểu trả về của hàm giaithua là float là viết như thế nào,
    Trời đất, hỏi câu gì lạ vậy
    int giaithua -> float giaithua
    Đấy là câu trả lời dành cho câu hỏi "hài hước" đó
    ________________________________
    Còn về phần bài này: Đổi kiểu int thành kiểu float làm gì ?
    Giai thừa của 1 số nguyên là 1 số nguyên, float làm gì đây thế nhỉ
    Um Mani Padme Hum...!!

  5. #5
    Ngày gia nhập
    12 2011
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    Trời đất, hỏi câu gì lạ vậy
    int giaithua -> float giaithua
    Đấy là câu trả lời dành cho câu hỏi "hài hước" đó
    ________________________________
    Còn về phần bài này: Đổi kiểu int thành kiểu float làm gì ?
    Giai thừa của 1 số nguyên là 1 số nguyên, float làm gì đây thế nhỉ
    Mình mới học mà, chỉ học kiểu int và void thôi, đổi thành float là vì cái s nó là tổng của số thập phân mà 1/2+1/6= float chứ ji nữa

  6. #6
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Mặc định Tính S=1-1/2!+1/3!

    Việc float đấy là của việc tính toán cái S, còn việc cái giaithua là thế nào thì mặc kệ nó, nó có tính độc lập của nó.
    Sao phải ép nó vào để phục vụ S ? .
    S muốn sử dụng giaithua thì S phải ... tùy biến sao để sử dụng dc chứ ?
    <------------- Nên suy nghĩ lại vấn đề này để sau này làm bài tập cho thông suốt.
    ________
    Đừng có bàn chuyện "mình mới học ở đây"!. Mới học hay học lâu rồi cũng đều là học, và phải học cho kỹ.
    Mình thấy bạn học bữa giờ cũng lâu rồi chứ "mới học" gì nữa ?
    Um Mani Padme Hum...!!

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Bài này mà làm theo kiểu giai thừa là không đạt yêu cầu. Tuy kết quả có thể đúng nhưng thuật toán dở ẹt

    1. Giai thừa chỉ tính tới 16!, trên nữa thì có khả năng tràn số

    2. Cứ mỗi thừa số lại phải gọi hàm giai thừa để tính? Thuật toán như thế là không biết lợi dụng tính chất chứa trị và dùng lại của máy tính.

    Bài này đã có nhiều bàn cãi, và có cách giải. Chịu khó tìm mấy bài cũ một chút.

  8. #8
    Ngày gia nhập
    12 2011
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Bài này mà làm theo kiểu giai thừa là không đạt yêu cầu. Tuy kết quả có thể đúng nhưng thuật toán dở ẹt

    1. Giai thừa chỉ tính tới 16!, trên nữa thì có khả năng tràn số

    2. Cứ mỗi thừa số lại phải gọi hàm giai thừa để tính? Thuật toán như thế là không biết lợi dụng tính chất chứa trị và dùng lại của máy tính.

    Bài này đã có nhiều bàn cãi, và có cách giải. Chịu khó tìm mấy bài cũ một chút.
    E cũng thấy thuật toán dở thiệt. Hjx
    Cho e hỏi khả năng tràn số là gì vậy? Còn tính chất chứa trị và dùng lại của máy tính là sao. A có thể giải thích thêm 1 chút về mấy cái này ko?

  9. #9
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    ...
    Bài này đã có nhiều bàn cãi, và có cách giải. Chịu khó tìm mấy bài cũ một chút.
    Chịu khó đọc kỹ mọt chút

  10. #10
    Ngày gia nhập
    07 2010
    Nơi ở
    chỗ kín
    Bài viết
    446

    S(x) = 1 - Round( x! / e ) / x!

    trong đó Round() là hàm làm tròn số 1.1 -> 1; 1.9->2
    e là số 2.7...

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn