解题思路:求出公差后运用公式求解
注意事项:注意公差为0 情况,直接输出n
参考代码:
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <string>
using namespace std;
int a[100001];
int main()
{
int n,i;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);//排序
int minn=100000009;
for(i=0;i<=n-2;i++)
{
minn=min(minn,a[i+1]-a[i]);//求出公差
}
if(minn > 0 && (a[n-1] - a[0])%minn == 0)//特判
cout<<(a[n-1]-a[0])/minn+1;//注意公差为0情况
else
cout<<n;
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:466 |
C语言训练-求素数问题 (C语言代码)浏览:773 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:932 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:781 |
最小公倍数 (C语言代码)浏览:894 |
WU-判定字符位置 (C++代码)浏览:1471 |
printf基础练习2 (C语言代码)浏览:690 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:593 |
A+B for Input-Output Practice (III) (C语言代码)浏览:594 |
简单的a+b (C语言代码)浏览:618 |