等差数列
难度:白银
时间限制:1秒
巴占用内存:64M
求等差数列前项的级数之和。不考虑不合理的输入等特殊情况。
格式
输入格式:输入N,首项M,差值K,整型,空格分隔。
输出格式:输出整型
样例1
输入:513
复制
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int N,M,K;
cin>>N>>M>>K;
int sum;
sum = (N*M) + (N*(N-1)*K)/2;
cout<<sum;
return 0;
}
这里要提示一下,这个报错:error:'N'cannot be used as a function
这里的运算符号很多,少输入一个的话就会有这样的错误。
\dev-cpp\mingw32\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_algobase.h [Error] '__comp' cannot be used as a function
我之所以会出现这个问题,是因为我把函数的定义的顺序写错了。
c、c++在编译的时候都是从上往下编译的,如果在前面没有声明一个函数名(或者是定义一个函数),在后面直接调用函数,就会出现错误。
例如:
int main(){
int a=2,b=4;
int M=max(a,4);
}
int max(int a,int b){
if(a>b)return a;
return b;
}
这样写是会报错的,正确的是:
//max函数被后面的main函数调用,它就应该写在main前面。
//或者在 这里先声明函数 int max(int a,int b);这样max函数写到哪里都可以
int max(int a,int b){
if(a>b)return a;
return b;
}
int main(){
int a=2,b=4;
int M=max(a,4);
}