本人第一次发题解,可能会水,请见谅!
查看原帖
本人第一次发题解,可能会水,请见谅!
371749
tuxxx楼主2024/5/15 22:20

数学老师的话是真的的好用——多读题。唉!一道数学问题。 居然是等差数列,那规律可以说是相当好找! 按题给的输入样例看 a1=1; a2=4; 由此可以看出此数列的等差数是3,所以放下推: a3=7; a4=10; ......; 那么an=a1+(a2-a1)*(n-1); So....动用for循环;

int an;
for(int i=1;i<=n;i++){
	int sum=a2-a1;
   an=a1+sum*(i-1);                   
}

到此,这题就算完事了。不说了,上AC代码!!

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a1,a2,n,an=0;//a1,a2,n根据题意定义变量即可,an用来表示序号为n的数 
	cin>>a1>>a2>>n;
	for(int i=1;i<=n;i++){
		int sum=a2-a1;        //命名一个sum(此变量名啥都行)表示等差数列之间相邻的两个数差。 
		an=a1+sum*(i-1);      // 这里通用求等差数列中序号为n的数的公式(个人总结)an=(a1*a2)*(n-1)即可. 
	}
	cout<<an;					//打印结果即可满分 
	return 0;
}
2024/5/15 22:20
加载中...