[HackerRank]找位數(Find Digits)

題目描述

給一個整數N,接著找出整數N的每個位數可以被拿來整除整數N的數量。

原題網址

https://www.hackerrank.com/challenges/find-digits

輸入格式

第一行輸入測試資料的數量T,T的範圍在1到15(包含1和15)。接下來的T行每行為拿來進行測試的整數N,N的範圍在0~109(不包含0和109)。

輸出格式

以一行一個結果的方式,輸出每行測試資料輸入的整數N其每個位數可以被拿整除整數N的數量。

範例輸入

2
12
1012

範例輸出

2
3

額外解釋

數字「12」的位數有「1」和「2」。12除以1可以整除,12除以2也可以整除,因此所有位數中可用來整除「12」的位數有1個1和1個2,總數量為3。
數字「1012」的位數有「1」、「0」、「1」、「2」。1012除以1可以整除,1012除以2也可以整除,任何數都不能除以0,因此所有位數中可用來整除「1012」的位數有2個1和1個2,總數量為3。

解題概念

可以利用計算「除以10後的餘數」和「除以10」的結果來拆解一個整數的所有位數。

要判斷一個數能不能整除另外一個數,可以判斷其經過除法之後的餘數是否為0,若為0表示整除。例如若要判斷100除以25是否為整數,那就計算100除以25的餘數是否為0,如果為0表示能整除。

參考答案

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章