#26854: python要怎麼寫?


1234567weewee457@gmail.com (weewee4571234567)


統計數字的方法,用c上排行榜,用python卻超時

#26856: Re:python要怎麼寫?


406490150@gms.tku.edu.tw (我是朱朱)


統計數字的方法,用c上排行榜,用python卻超時


你Python的寫法是什麼呢?C的寫法又是什麼呢?可以分享一下呀 :D

或許Python可以把input()改成stdin就會比較快哦?

#26857: Re:python要怎麼寫?


406490150@gms.tku.edu.tw (我是朱朱)


話說,用Python解這題如果只用兩行硬解,可以 AC (0.6s, 3.3MB) 耶?

左,右 = input().split() 可以讀輸入,順便分成兩個

str.count()可以算字串有幾個相同的

map(str, range())可以把數字轉成str

sum()可以把list加起來

print()可以印結果

#26858: Re:python要怎麼寫?


1234567weewee457@gmail.com (weewee4571234567)


統計數字的方法,用c上排行榜,用python卻超時


你Python的寫法是什麼呢?C的寫法又是什麼呢?可以分享一下呀 :D

或許Python可以把input()改成stdin就會比較快哦?

 

#include <stdio.h>

 

int main(){

    int nums[10],j;

    for (int i=0; i<=9; i++) {

        nums[i]=0;

    }

    int n,x;

    scanf("%d%d", &n, &x);

    for (int i=1; i<=n; i++) {

        j=i;

        while (j!=0) {

            nums[j%10]++;

            j /= 10;

        }

    }

    printf("%d", nums[x]);

}

#37348: Re: python要怎麼寫?


shawnwang0229@gmail.com (汪彥翔)


話說,用Python解這題如果只用兩行硬解,可以 AC (0.6s, 3.3MB) 耶?

左,右 = input().split() 可以讀輸入,順便分成兩個

str.count()可以算字串有幾個相同的

map(str, range())可以把數字轉成str

sum()可以把list加起來

print()可以印結果

笑死...
我苦思了3個小時,你用兩行就解決了...
果然要考量"是否要先嘗試最好實作的方式"
 AC (18ms, 3.3MB) 拋磚引玉: