30/09/2018, 23:01

Nhờ mọi người xem giúp mình lỗi chương trình tính S = -1 + 2 -3 +...+ ((-1)^n) *n

Đây là code của em, anh chị xem em sai ở đâu với ạ

# include <iostream>
using namespace std;

int S (int n)
{
	if (n <= 1) return -1;
	return S(n - 1) + ((-1) ^ n) *n;
}
int main()
{
	int n;
	cin >> n;
	cout << S(n);
	system("pause");
	return 0;
}
Người bí ẩn viết 01:18 ngày 01/10/2018

((-1) ^ n) *n

Sai ở chỗ này, ^ là trong toán học, để tính lũy thừa thì trong lập trình sử dung hàm pow() nhé hoặc tự tạo hàm riêng cũng được

return S(n - 1) + ((-1) ^ n) *n;

Sửa lại dòng này như sau: return S (n-1) + pow(-1, n)*n;

Thuan Nguyen viết 01:02 ngày 01/10/2018

à. em quên mất . cảm ơn anh ạ

Bài liên quan
0