30/09/2018, 20:08

Các bác xem hộ e tại sao chương trình này lại cho kết quả sai

Các bác xem hộ e tại sao chương trình này lại cho kết quả sai. Đề là ntn ạ:
S=( (-1)^(n-1)/( 2n)^2 )

#include<iostream>
using namespace std;

int main()
{
	float s=0;
	int i,n;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		(float)(s=(((-1)^(i-1))/((2*i)^2)));
		
	}
	cout.precision(4);
	cout<<s;
	
}
Sáng Béo viết 22:19 ngày 30/09/2018

Sai chỗ là không có phép ^ mà bạn phải lập hàm mũ hoặc dùng hàm pow có sẵn.
điều thứ 2 là vòng for của bạn không có ý nghĩa gì cả, cuối cùng nó vẫn chỉ là ((-1)^(n-1)) / ((2*n)^2), những i < n bạn xét không để làm gì.

Bài liên quan
0