// CalculateAn.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。
//
题目:计算An = 2*A(n - 1) + 1,n 为基数,An = 2 * A(n - 1) - 1, n为偶数,已知A0 = 0;计算An
#include<stdio.h>
int calculateAn(int n);
int main() {
int n;
printf("请输入An的项数n:");
scanf_s("%d", &n);
if (n < 0) {
printf("请输入大于等于0的整数!");
return 0;
}
else {
printf("A(%d) = %d", n, calculateAn(n));
}
return 0;
}
/// <summary>
/// 计算An
/// </summary>
/// <param name="n">第n项</param>
/// <returns></returns>
int calculateAn(int n) {
int An = 0;
//当n为0时,An = 0;
if (n == 0) An = 0;
if (n > 0) {
if (n % 2 == 0) {//当n为偶数时, An = 2 * A(n - 1) - 1
An = 2 * calculateAn(n - 1) - 1;
}
else //当n为奇数时,An = 2 * A(n - 1) + 1
{
An = 2 * calculateAn(n - 1) + 1;
}
}
return An;
}