数字判断
数列中,后一个数字是前一个数字+1,有且仅有一个数字是错的,求出是第几个。
只需判断前后两个数字只差是否等于1。如果每两个数字前后之差都等于1,则第一个错了。
AC代码:
#include <cstdio>
#define MAX 100005
int a[MAX];
int main() {
int t,flag = 0;
scanf("%d", &t);
while(t--) {
int n;
scanf("%d", &n);
for(int i=1; i<=n; i++) {
scanf("%d", &a[i]);
}
printf("Case #%d: ", ++flag);
int t = 1, s = 0;
for(int i=2; i<=n; i++) {
if(t != (a[i]-a[i-1])) {
printf("%d\n", i);
s = 1;
}
}
if(!s)
printf("1\n");
}
return 0;
}