30/09/2018, 22:01

Viết chương trình tính n dấu căn

em chỉ mới tự học lập trình trong hè này. và còn nhiều khó khăn. em gặp khó khăn khi giải bt kiểu này. mong mọi người giúp đỡ

Nguyễn Tấn Khoa viết 00:01 ngày 01/10/2018
#include <stdio.h>
#include <math.h>
#include <conio.h>

int main() 
{
	int n;
	
	printf("Nhap vao n: ");
	scanf("%d", &n);
	
	double sum = 0;
	
	for (int i = 1; i <= n; i++)
		sum = sqrt(2 + sum);
		
	printf("S(n) = %.3f", sum);
	getch();

	return 0;
}

Code của em nè , em không biết anh đang viết bằng ngôn ngữ gì nên em viết bằng C. Lần sau anh nhớ nói rõ là viết bằng ngôn ngữ gì nha.


PS: Người thảo luận để tìm ra cách giải hay cho một bài toán khó sẽ trở thành lập trình viên giỏi. Người hay hỏi bài tập thì không. Còn bạn thì sao?

Đinh Thiện Khải viết 00:06 ngày 01/10/2018

Mình tưởng ở đây chỉ hỏi phương pháp, không hỏi bài. Bạn nên chỉ cho chủ thớt cách làm hơn là show code ra như vậy Mình nghĩ thế

Tao Không Ngu. viết 00:16 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Nguyễn Tấn Khoa viết 00:02 ngày 01/10/2018

Lúc đầu em cũng nghĩ vậy, nhưng mà không biết cách trình bày sao cho anh ấy hiểu. Thôi cho anh ấy sourse luôn.

Quốc Hùng viết 00:13 ngày 01/10/2018

pascal nhé

var sum: extended;
    i,n: integer;
begin
   for i:= 1 to n do begin
       sum := sqrt(2+sum);
   end;
end.

bài này chủ yếu là tạo 1 vòng lặp để lồng các căn bậc vào vs nhau th

Ngan Tran viết 00:05 ngày 01/10/2018

Cho CHỊ/em hỏi là nếu bài cho căn bậc n í. Thì dùng hàm gì hay cách làm như nào ạ? em mù tịt vụ này @@

Ngô Doãn Tuấn viết 00:04 ngày 01/10/2018

PS: Người thảo luận để tìm ra cách giải hay cho một bài toán khó sẽ trở thành lập trình viên giỏi. Người hay hỏi bài tập thì không. Còn bạn thì sao?

Đưa code luôn thì còn gọi là thảo luận không ta ?

Tao Không Ngu. viết 00:17 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Nguyễn Tấn Khoa viết 00:18 ngày 01/10/2018

Đưa code luôn thì còn gọi là thảo luận không ta ?

Em giải thích rồi mà :’(

Lúc đầu em cũng nghĩ vậy, nhưng mà không biết cách trình bày sao cho anh ấy hiểu. Thôi cho anh ấy sourse luôn.

Còn:

PS: Người thảo luận để tìm ra cách giải hay cho một bài toán khó sẽ trở thành lập trình viên giỏi. Người hay hỏi bài tập thì không. Còn bạn thì sao?

là em nhắc anh ấy thôi.

Vương N Guyễn viết 00:16 ngày 01/10/2018

anh ơi… a có thể giải thích rõ hộ e được k ak ? sum là gì vậy ? và a nói rõ cái thuật toán cho e được k a thánks a…!

Nguyễn Tấn Khoa viết 00:08 ngày 01/10/2018

sum là gì vậy ?

sum chỉ tên của một tên biến do mình đặt thôi bạn à.
Bạn xem kỹ code mình nhé , có dòng mình ghi là double sum = 0; trong đó ý.

a nói rõ cái thuật toán cho e được k a

Thuật toán chỉ đơn giản là tạo một vòng lặp để lông các căn bậc vào nhau thôi bạn.

for (int i = 1; i <= n; i++)
	sum = sqrt(2 + sum);

Biến n là số dấu căn nhập từ bàn phím.

Nếu n = 1 thì ta có: sum = sqrt(2 + sum); chỉ lặp 1 lần.
Lúc này sum = 0 nên ta có sum = sqrt(2) ≈ 1.414213562

Nếu n = 2 thì ta có: sum = sqrt(2 + sum); lặp 2 lần.
sum = 0 nên ta có sum = sqrt(2) ≈ 1.414213562 (lần thứ nhất).
Giờ sum ≈ 1.414213562 → sum = sqrt(2 + sum); lần 2 ta sẽ có sum = sqrt(2 + 1.414213562) ≈ 1.847759065

Cứ thế mà tới


PS: Mình còn nhỏ mà bạn gọi mình là anh thấy ngại ngại sao ấy .

Bài liên quan
0