信息学奥赛一本通 1077:统计满足条件的4位数 | OpenJudge NOI 1.5 26
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1077:统计满足条件的4位数 | OpenJudge NOI 1.5 26
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目鏈接】
ybt 1077:統(tǒng)計(jì)滿足條件的4位數(shù)
OpenJudge NOI 1.5 26:統(tǒng)計(jì)滿足條件的4位數(shù)個(gè)數(shù)
【題目考點(diǎn)】
1. 分離整數(shù)的各位數(shù)字
對(duì)于數(shù)字a,a%10可以取到其個(gè)位,a/=10(整除)可以去掉其當(dāng)前個(gè)位。
重復(fù)這一過程,即可從低位到高位分離各位上的數(shù)字。
例:分離數(shù)字123的各位數(shù)
| 123 | 3 | 12 |
| 12 | 2 | 1 |
| 1 | 1 | 0 |
每次循環(huán) a變?yōu)槌?0,循環(huán)中取a%10,為當(dāng)前個(gè)位。當(dāng)a為0時(shí)循環(huán)結(jié)束。
例:輸入一個(gè)整數(shù),從低位到高位輸出其各位數(shù)字,并用空格分隔,代碼為:
int n; cin>>n; for(int a = n; a > 0; a /= 10)cout<<a % 10<<' ';其原理為對(duì)數(shù)字的按位權(quán)展開。
2. 循環(huán),判斷,統(tǒng)計(jì)
【題解代碼】
解法1:設(shè)函數(shù)判斷一個(gè)數(shù)是否是滿足條件的數(shù)字
#include<bits/stdc++.h> using namespace std; bool isOk(int n)//數(shù)字n是否是滿足條件的數(shù)字 {int d = n % 10;//先取出個(gè)位n /= 10;while(n > 0){d -= n % 10;//n % 10是當(dāng)前的個(gè)位n /= 10;}return d > 0; }int main() {int n, s = 0;//s:滿足條件的數(shù)字個(gè)數(shù)cin>>n;for(int i = 0; i < n; ++i){int a;cin>>a;if(isOk(a))s++;}cout<<s;return 0; }解法2:
對(duì)于四位數(shù)a
個(gè)位:a % 10, 十位:a /10 % 10,百位:a / 100 % 10,千位:a / 1000
總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1077:统计满足条件的4位数 | OpenJudge NOI 1.5 26的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1063:最大跨度值
- 下一篇: OpenJudge NOI 1.5 02