d073: 分組報告

2022.11.19 AM 09:00 by CBJ

來源 : https://zerojudge.tw/ShowProblem?problemid=d073
出題者 : snail蝸牛
標籤 : 算術運算
難易度 : 1
解題想法 : 
首先我們可以先觀察下列數列的關係 :
a[] 0 1 2 3 4 5 6 7 8 
b[] 0 0 0 1 1 1 2 2 2 
其中a[]為原陣列,b[]為a[]每個元素除以3(只求商數)的結果
會發現a,b的關係有點類似題意,只是題目中的數列是從1開始。

為了讓兩者一致,我們可以先將題目的數列先改成從0開始(也就是每一個數都-1),最後再記得加回1即可。

而此處還有一個地方需要注意,就是b[]也是從0開始,跟題目的敘述又有一點落差,所以當我們算出除以3的商數後,要記得再把他+1。

如此一來,當題目問了一個數字n時,我們就會知道要先把他-1,再除以3取商數,最後再將商數+1即是答案。
//C language
//solution link(含註解): 

#include<stdio.h>
int main(){
    int n;
    scanf("%d",&n);
    printf("%d\n",((n-1)/3)+1);
    return 0;
}
//C++ language
//solution link(含註解): 

#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    cout<<((n-1)/3)+1<<"\n";
}
## Python language
## solution link(含註解): 

print(((int(input())-1)//3)+1)

相關文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *