等差数列 C语言
題目名稱:等差數列
時間限制:1000ms內存限制:256M
題目描述
一個等差數列是一個能表示成a, a+b, a+2b,..., a+nb (n=0,1,2,3,...)的數列。在這個問題中a是一個非負的整數,b是正整數。 現給出三個整數,分別表示等差數列的第一項a、最后一項和公差b,求該數列的和。
輸入描述:
輸入三個整數,之間用空格隔開。第1個數作為首項,第2個數作為末項,第3個數作為公差.
輸出描述:
輸出占一行,包含一個整數,為該等差數列的和。如果所給三個整數,不能構成等差數列,則返回-1。
示例?
示例1
輸入2 11 3
輸出26
提示
無
#include <stdio.h>int solution(int a, int n, int b){int result=0;int i;int t=n;int flag=a;// TODO: 請在此編寫代碼if(a<0||b<=0){return -1;}if(a==t)return a;for(i=b;a<t;){t=t-i;result++;if(a>t){return -1;}} while(result){flag=flag+b;a=a+flag;--result;}return a; }int main() {int m;int n;int p;scanf("%d", &m);scanf("%d", &n);scanf("%d", &p);int result = solution(m, n, p);printf("%d", result);return 0; }試題源自CSDN
總結
- 上一篇: YOLO目标检测算法的意义
- 下一篇: 摄像头poe供电原理_POE交换机、PO