1809 - string matching   

Description

[ps2_3]

輸入兩個正整數 a b 而且 a 一定大於 b
找出 b 的數字在 a 中出現的次數
例如
輸入:
    781348781346891346 134
輸出:
    3

因為 781348781346891346 當中總共出現 3 134

[提示]
1.可以先用一個迴圈
算出比 b 高一位的 10 的倍數 
並將這個數目存為 r
譬如 b 134 r 1000

2.接下來再用另一個迴圈
r a 的餘數與 b 比較看看是否相等
每次比完之後
就將 a 的位數降一位
繼續做下一次迴圈
直到 a 的位數都用完為止

底下是樣本程式
使用 unsigned long long 是為了能夠讀取將近 20 位數的正整數
測試時
我們會假設輸入的正整數最多只有 18 位數

/*
ps2_3.c

Input:
781348781346891346 134

Output:
3

Input:
71349999134997 99

Output:
4
*/
#include 
int main(void)
{
    unsigned long long a, b;
    unsigned long long r;
    int count = 0;

    scanf("%llu%llu", &a, &b);

    /* your code */

    printf("%d
", count);

    return 0;
}

Input

參照題目敘述

Output

參照題目敘述

Sample Input  Download

Sample Output  Download

Tags




Discuss