题解 | #N的阶乘#

N的阶乘

https://www.nowcoder.com/practice/f54d8e6de61e4efb8cce3eebfd0e0daa

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define len 2000

char res[len];

int chartoint(char c){
    int a = c-'0';
    if(a>=0&&a<=9){
        return a;
    }
    return -1;
}

char inttochar(int a){
    return a+'0';
}

void multipy(int x){
    int jin = 0;
    int n = strlen(res);
    //printf("%c\n",res[0]);
    int i;
    for(i = 0;i<n;i++){
        int temp = chartoint(res[i])*x+jin;
        jin = temp/10;
        res[i] = inttochar(temp%10);
        //printf("temp = %d\n",temp);
    }
    while(jin!=0){
        res[i] = inttochar(jin%10);
        jin/=10;
        i++;
    }
    res[i] = '\0';
    //printf("i = %d res = %s\n",i,res);
}

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        res[0] = '1';
        res[1] = '\0';
        for(int i = 1;i<=n;i++){
            multipy(i);
            //printf("%s\n",res);
        }
        int n = strlen(res);
        for(int i = n-1;i>=0;i--){
            printf("%c",res[i]);
        }
        printf("\n");
    }
}

全部评论

相关推荐

看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
重生之我要干前端:放宽心,作弊很明显的,面试官也不是傻子,而且这世上更多的肯定是依靠自己的知识的人,所以放宽心提升自己最重要
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务