点赞(1)
 

0.0分

9 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 7 条评论

邓明昊 3年前 回复TA
#include<iostream>
using namespace  std;
int main (){
	int n;int t; int ans=0;
	cin >>n;int num[n];
	for(int i=0;i<n;i++){
		cin >>num[i];
		
		
	}
	int min=num[1]-num[0];
	for(int j=0;j<n-1;j++){	
		for(int i=0;i<n-j-1;i++){
		if(num[i]>num[i+1]){
		
		t=num[i];	
		num[i]=num[i+1];
		num[i+1]=t;}
	}
	

	
}
		
	for(int k=0;k<n-1;k++){
		int m=num[k+1]-num[k];
		if(m<min)
		min=m;	
	}
			if(min==0)
			cout<<n;
			 ans=((num[n-1]-num[0])/min)+1;
	


			cout<<ans;	
	return 0;
}
大佬们帮我看看,我这个为什么老师运行错误了,谢谢大家了
旺仔 3年前 回复TA
@老A 我也为此懵逼 1 7 11 也是如果按照最小差值为4根本就不是等差数列了
你算哪个bug 4年前 回复TA
大家,修改过后是这样的哦:
你算哪个bug 4年前 回复TA
#include<iostream>
#include<algorithm> //提供sort函数 默认非降序排列
using namespace std;
int main() {
	int n;
	cin>>n;
	int a[n];
	for(int i=0; i<n; i++) {
		cin>>a[i];
	}
	sort(a,a+n);
	int tem=a[1]-a[0];
	for(int i=0; i<n-1; i++) { //找等差(差值最小的即所求)
		int k=a[i+1]-a[i];
		if(k<tem)  tem=k;
	}
	for(int i=1;i<n;i++){//判断是否为特殊情况(等差为1)
		if((a[i]-a[0])%tem!=0){
			cout<<a[n-1]-a[0]+1;
			return 0;
		} 
	}
	if(tem==0) cout<<n; //特判等差为0的情况,不加的话 通过91
	else cout<<(a[n-1]-a[0])/tem+1;
	return 0;
}
你算哪个bug 4年前 回复TA
@老A 嗯嗯 是的,没有考虑到等差为1的情况,网站的数据不全面 ,谢谢你的提醒哦
AngelCaval 4年前 回复TA
@老A 老兄,人家要的是最少项数
老A 4年前 回复TA
这道题数据好弱,如果1 3 6,答案应该是6,作者您的代码的结果是3,应该不正确,但是能ac,那应该是数据弱