Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Horner-(Câu lệnh lặp FOR-WHILE)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Horner-(Câu lệnh lặp FOR-WHILE) Empty
Bài gửiTiêu đề: Horner-(Câu lệnh lặp FOR-WHILE)   Horner-(Câu lệnh lặp FOR-WHILE) EmptyTue Jan 04, 2011 10:45 am

Horner-(Câu lệnh lặp FOR-WHILE) Titleb10 Tue Jan 04, 2011 10:45 am » Horner-(Câu lệnh lặp FOR-WHILE) Horner-(Câu lệnh lặp FOR-WHILE) Titleb13
Đề bài:Cho số thực x và số nguyên dương n.Hãy tính biểu thức sau bằng phương pháp Horner
f=(n+1).x^n+n.x^(n-1)+...+2x+1
yêu cầu: sử dụng câu lệnh if, for.


Code:
//Horner f=(n+1).x^n+n.x^(n-1)+...+2x+1
#include <stdio.h>
void main()
{
   int n,b;
   double f,a;
   printf("Nhap vao so n va a: ");
   scanf("%d%lf",&n,&a);
   b=n+1;
   f=float(b);
   if (b>1)
      for (int i=1;i<=n;i++)
         f=a*f+(--b);
   printf("Gia tri bieu thuc la: %lf\n",f);
}

Hướng giải: Vẽ sơ đồ Horner ra đặt tương ứng a,b,f (f là giá trị biểu thức), ta thấy f chỉ được tính và lặp lại sau đó khi thực hiện lần nhân ngang cộng chéo đầu tiên nên sẽ bỏ qua b ở b=(n+1), từ đó ta có biểu thức chính trong vòng lặp là f=a*f+(--b); (b giảm 1 trước khi thực hiện phép tính)

Code update:


Code:
//Horner
 #include <stdio.h>
 #include <conio.h>
 void main ()
 {
     int n;
    double x,f;
     printf("Nhap so nguyen duong n: ");
     scanf("%d",&n);
     f=n+1;
     printf("Nhap so thuc x: ");
     scanf("%lf",&x);
     for(int i=1;i<=n;i++)
       f=n+1-i+x*f; 
     printf("Ket qua = %lf\n",f);
   getch(); 
}

Giải thích: biến b giảm 1 trước mỗi lần tính f, tương ứng b đầu tiên có giá trị (n+1) trừ cho i


Tboy

Horner-(Câu lệnh lặp FOR-WHILE) Border10 Horner-(Câu lệnh lặp FOR-WHILE) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
 

Horner-(Câu lệnh lặp FOR-WHILE)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Tính tổng trong đoạn-(Kết hợp câu lệnh lặp và câu lệnh lựa chọn)
» Kiểm tra số nguyên tố-(Kết hợp câu lệnh lặp và câu lệnh lựa chọn)
» Hình chữ nhật-(Kết hợp câu lệnh lặp và câu lệnh lựa chọn)
» Các số nguyên tố-(Kết hợp câu lệnh lặp và câu lệnh lựa chọn)
» Tìm chữ số lớn nhất-(Kết hợp câu lệnh lặp và câu lệnh lựa chọn)
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Cơ sở lập trình 1 :: Bài tập thực hành-