思路及代码
/*
1计算第 n 项数值
a1=1,a2=5,a3=12,...ak=a(k-1)+(k-3)*3+7;
遍历将前50项保存到数组中
2输入正整数 n,1<=n<=50,
3输出第 n 项数值
*/
#include<iostream>
using namespace std;
int main()
{
int result[50];
result[0] = 1;
result[1] = 5;
result[2] = 12;
for (int i = 3; i < 50; i++)
result[i] = result[i-1] + (i-2) * 3 + 7;
int n;
while (cin >> n)
cout << result[n-1] << endl;
return 0;
}
参考:无
收获:1️⃣注意事项:第 n 项和 下标是一一对应,但是下标不是 n,递推公式要做一点小小的修改。
一个悲伤的故事,第一遍的代码提交,系统评判涉嫌抄袭,去了两个{ },就不提示涉嫌抄袭。...
#include<iostream>
using namespace std;
int main()
{
int list[50];
list[0] = 1;
list[1] = 5;
list[2] = 12;
for (int i = 3; i < 50; i++)
{
list[i] = list[i-1] + (i-2) * 3 + 7;
}
int n;
while (cin >> n)
{
cout << list[n-1] << endl;
}
return 0;
}
菜菜,不是教程,做题和学习记录