#14091: 為甚麼用C和C++測試執行時都AC送出答案就TLE 明明測試時 0ms 3.9mb 哪位大大能告訴我該怎麼修??


HuangNO1 (雷姆醬)

學校 : 中南大学
編號 : 60967
來源 : [103.156.242.195]
最後登入時間 :
2023-12-03 15:57:20
a010. 因數分解 | From: [36.227.161.239] | 發表日期 : 2018-06-11 20:31

#include <stdio.h>

int main()
{
    int math ;

    while ( scanf ( "%d" , &math ) != EOF ){
        int i = 0 , j = 0 ;
        int nmath[ 1000000 ] = {} ;
        while ( math != 1 ){
            for ( i = 2 ; i <= math ; i++ ){
                int flag = 0 ;
                for ( j = 2 ; j < i ; j++ ){
                    if ( i % j == 0 ){
                        flag = 1 ;
                        break ;
                    }
                }
                if ( !flag && !( math % i ) ){
                    nmath[ i ] += 1 ;
                    math /= i ;
                    break ;
                }
            }
        }
        for ( j = 2 ; j < i ; j ++ ){
            if ( nmath[ j ] > 1 )
                printf ( "%d^%d * " , j , nmath[ j ] ) ;
            else if ( nmath[ j ] == 1 )
                printf ( "%d * " , j ) ;
        }
        if ( nmath[ i ] > 1 )
            printf ( "%d^%d\n" , i , nmath[ i ] ) ;
        else if ( nmath[ i ] == 1 )
            printf ( "%d\n" , i ) ;
    }
    return 0 ;
}

 
ZeroJudge Forum