1060 愛丁頓數 (25分)
英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了一個“愛丁頓數” E ,即滿足有 E 天騎車超過 E 英里的最大整數 E。據說愛丁頓自己的 E 等于87。
現給定某人 N 天的騎車距離,請你算出對應的愛丁頓數 E(≤N)。
輸入格式:
輸入第一行給出一個正整數 N (≤10
?5
?? ),即連續騎車的天數;第二行給出 N 個非負整數,代表每天的騎車距離。
輸出格式:
在一行中給出 N 天的愛丁頓數。
輸入樣例:
10
6 7 6 9 3 10 8 2 7 8
輸出樣例:
6
uj5u.com熱心網友回復:
我對題目的理解就是第i天騎車的路程大于i 就計數 然后最后輸出滿足條件的個數;以下是代碼#include <stdio.h>
#include <algorithm>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
int count=0;
for(int i=0;i<n;i++){
if(a[i]>(i+1)){
count++;
}
}
printf("%d",count);
return 0;
}
uj5u.com熱心網友回復:
但是測驗點五就是過不去uj5u.com熱心網友回復:
求求大佬指點啊 網上搜的都是要排序的 。。。。可是我不理解為什么一定要排序uj5u.com熱心網友回復:
我在回答之前先幫你把代碼改一下,你的代碼本身有問題首先第7行不能寫成
int a[n]
這肯定是不行地。
照你的想法,寫成下面這樣就可以。
int* a = new int[n]
uj5u.com熱心網友回復:
還有,你這演算法其實是有問題地,你可以試試把數字換個位置就不對了uj5u.com熱心網友回復:
我目前認為不排序你是不能得出結論的,容我幫你想想。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/101709.html
標籤:C++ 語言
上一篇:shell函式引數
