信息学奥赛一本通 1067:整数的个数 | OpenJudge NOI 1.5 11
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1067:整数的个数 | OpenJudge NOI 1.5 11
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1067:整數(shù)的個數(shù)
OpenJudge NOI 1.5 11:整數(shù)的個數(shù)
【題目考點】
1. 循環(huán)統(tǒng)計
2. (擴展)散列表
【題解代碼】
解法1:用if語句
#include<bits/stdc++.h> using namespace std; int main() {int k, a, s1 = 0, s5 = 0, s10 = 0;//s1,s5,s10分別保存1,5,10的個數(shù)cin>>k;for(int i = 0; i < k; ++i){cin>>a;if(a == 1)s1++;if(a == 5)s5++;if(a == 10)s10++;}cout<<s1<<endl;cout<<s5<<endl;cout<<s10<<endl;return 0; }解法2:關(guān)系表達式的值為0或1,利用這一原理統(tǒng)計數(shù)字
#include<bits/stdc++.h> using namespace std; int main() {int k, a, s1 = 0, s5 = 0, s10 = 0;//s1,s5,s10分別保存1,5,10的個數(shù)cin>>k;for(int i = 0; i < k; ++i){cin>>a;s1 += a == 1;//先計算a==1,若a為1,該表達式值為1,s1增加1。否則a==1值為0,s1增加0。s5 += a == 5;s10 += a == 10;}cout<<s1<<endl<<s5<<endl<<s10<<endl;return 0; }解法3:(擴展)使用散列表
#include<bits/stdc++.h> using namespace std; int main() {int k, a, s[15]={};//s[1],s[5],s[10]分別保存1,5,10的個數(shù),數(shù)組初始值都設(shè)為0cin>>k;for(int i = 0; i < k; ++i){cin>>a;s[a]++;}cout<<s[1]<<endl<<s[5]<<endl<<s[10]<<endl;return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1067:整数的个数 | OpenJudge NOI 1.5 11的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1229:电池的寿命)
- 下一篇: 信息学奥赛一本通(1156:求π的值)