1302.cpp

来自「这是哈尔滨工业大学acmOJ的源代码」· C++ 代码 · 共 37 行

CPP
37
字号
/*  This Code is Submitted by wywcgs for Problem 1302 on 2005-03-27 at 17:31:19 */ 
#include <stdio.h>

int main()
{
    long n, fact[10];
    int i, flag;
    
    fact[0] = 1;
    for(i = 1; i < 10; i++){
        fact[i] = fact[i-1] * i;
    }
    while(scanf("%ld", &n) == 1){
        if(n < 0){
            return 0;
        }else if(n == 0){
            printf("NO\n");
        }else{
            flag = 1;
            for(i = 9; i >= 0; i--){
                if(n >= fact[i]){
                    n -= fact[i];
                }
                if(n == 0){
                    printf("YES\n");
                    flag = 0;
                    break;
                }
            }
            if(flag == 1){
                printf("NO\n");
            }
        }
    }
    
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?