import java.util.Scanner;

public class 阶乘之和 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] sum = new int [101];
int [] num = new int [101];
num[1]=1;
for (int i = 1; i <=n; i++) {
int a=0,b,c;
for (int j = 1; j < 101; j++) {
num[j]=num[j]*i+a;
a=num[j]/10;
num[j]=num[j]%10;
}
a=0;
for (int j = 0; j < 101; j++) {
sum[j]=sum[j]+num[j]+a;
a=sum[j]/10;
sum[j]%=10;
}
}
boolean a = true;
for (int i = num.length-1; i >0; i--) {
if(a&&sum[i]==0){
continue;
}
else {
a=false;
}
System.out.print(sum[i]);
}
} }

PS:

这里有个大佬把样例给破了,小编实属佩服,附下:

if(n==0)cout<<"1"<<endl;//前面的纯手算就可以
if(n==1)cout<<"1"<<endl;
if(n==2)cout<<"3"<<endl;
if(n==4)cout<<"33"<<endl;
if(n==5)cout<<"153"<<endl;
if(n==6)cout<<"873"<<endl;
if(n==7)cout<<"5913"<<endl;
if(n==8)cout<<"46233"<<endl;
if(n==9)cout<<"409113"<<endl;
if(n==10)cout<<"4037913"<<endl;
if(n==11)cout<<"43954713"<<endl;
if(n==12)cout<<"522956313"<<endl;
if(n==13)cout<<"6749977113"<<endl;
if(n==14)cout<<"93928268313"<<endl;
if(n==15)cout<<"1401602636313"<<endl;
if(n==16)cout<<"22324392524313"<<endl;
if(n==17)cout<<"378011820620313"<<endl;
if(n==18)cout<<"6780385526348313"<<endl;
if(n==19)cout<<"128425485935180313"<<endl;//从这里开始最后四位都是0313
if(n==20)cout<<"2561327494111820313"<<endl;
if(n==21)cout<<"53652269665821260313"<<endl;
if(n==22)cout<<"1177652997443428940313"<<endl;
if(n==23)cout<<"27029669736328405580313"<<endl;
if(n==24)cout<<"647478071469567844940313"<<endl;
if(n==25)cout<<"161586881sa373618851684940313"<<endl;
if(n==29)cout<<"9157958657951075573395300940313"<<endl;
if(n==30)cout<<"274410818470142134209703780940313"<<endl;
if(n==31)cout<<"8497 249472648064951935266660940313"<<endl;
if(n==32)cout<<"271628086406341595119153278820940313"<<endl;
if(n==33)cout<<"89 4945705218228090637347680100940313"<<endl;
if(n==34)cout<<"304 187744744822368938255957323620940313"<<endl;
if(n==35)cout<<"10637335711130967298604907294846820940313"<<endl;
if(n==36)cout<<"382630662501032184766604355445682020940313"<<endl;
if(n==37)cout<<"14146383753727377231082583937026584420940313"<<endl;
if(n==38)cout<<"537169001220328488991089808037100875620940313"<<endl;
if(n==39)cout<<"20935051082417771847631371547939998232420940313"<<endl;
if(n==40)cout<<"836850334330315506193242641144055892504420940313"<<endl;
if(n==41)cout<<"34289376947494122614363304694584807557656420940313"<<endl;
if(n==42)cout<<"1439295494700374021157505910939096377494040420940313"<<endl;
if(n==43)cout<<"0313"<<endl;//这里没有样例点
if(n==44)cout<<"0313"<<endl;
if(n==45)cout<<"0313"<<endl;
if(n==46)cout<<"0313"<<endl;
if(n==47)cout<<"0313"<<endl;
if(n==48)cout<<"12678163798554051767172643373255731925167694226950680420940313"<<endl;//最坑的是这里有一个样例点,算杀我也
if(n==49)cout<<"0313"<<endl;
if(n==50)cout<<"0313"<<endl;

Java实现 洛谷 P1009 阶乘之和的更多相关文章

  1. 洛谷——P1009 阶乘之和

    P1009 阶乘之和 题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一 ...

  2. 洛谷P1009 阶乘之和 题解

    想看原题请点击这里:传送门 看一下原题: 题目描述 用高精度计算出S=!+!+!+…+n! (n≤) 其中“!”表示阶乘,例如:!=****××××. 输入格式 一个正整数N. 输出格式 一个正整数S ...

  3. 洛谷 P1009 阶乘之和 Label:高精度

    题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...

  4. 洛谷 P1009 阶乘之和

    题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...

  5. P1009 阶乘之和

    P1009 阶乘之和 题目提供者洛谷OnlineJudge 标签数论(数学相关)高精1998NOIp提高组NOIp普及组 难度普及- 通过/提交1139/3791 提交该题 讨论 题解 记录 题目描述 ...

  6. Java实现 洛谷 Car的旅行路线

    输入输出样例 输入样例#1: 1 3 10 1 3 1 1 1 3 3 1 30 2 5 7 4 5 2 1 8 6 8 8 11 6 3 输出样例#1: 47.5 import java.util. ...

  7. Java实现 洛谷 P1738 洛谷的文件夹

    题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...

  8. Java实现洛谷 P1428 小鱼比可爱

    题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个"比可爱"比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只 ...

  9. AC日记——阶乘之和 洛谷 P1009(高精度)

    题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...

随机推荐

  1. [hdu1532]最大流

    裸最大流,求最大流一般步骤如下: (1)所有正向边权初始化为容量,反向边权初始化为0 (2)找增广路 (3)找到则进入(4),否则得到最大流并退出 (4) 增广路上所有边减去最小边权,相应的方向边加上 ...

  2. 配置centos7 java环境

    一.环境 centos7 jdk-8u231-linux-x64.tar.gz 二.安装jdk 使用ftp或者 WinScp软件把下载在win10电脑上的jdk安装包上传到linux 解压到/opt/ ...

  3. linux(ubuntu) 1045, "Access denied for user 'root'@'localhost' (using password: YES)"

    问题现象: 最近使用 flask 的 sqlalchemy 框架,在链接数据库(mysql)时出现报错 sqlalchemy.exc.OperationalError: (pymysql.err.Op ...

  4. 接口测试/soapUI

    忙过了2019年的下半年终于在2020年快上线了,~鞭炮噼啪过~ 项目技术架构:XML请求数据 -> JAVA (转换)-> JOSN请求数据 项目使用工具:soapUI/Jmeter,m ...

  5. linux-设置代理和取消代理

    设置代理: export http_proxy="http://proxy-XXXXX" export https_proxy="https://proxy-XXXXX: ...

  6. 基于Nettty打造自己的MVC服务器

    最近开始折腾Netty,体验下NIO编程.既然学习了,就要做点东西出来,要不然不容易掌握学到的东西.在Netty的官方demo上都有各种case的sample,打造Http服务器的核心代码就是从Sam ...

  7. (mysql)数据库笔记

    一.数据库的特点: a.实现数据共享  b.采用特定的数据类型. c.具有较高的数据独立性 d.具有统一的数据控制功能. 二.mysql的优势: a.速度:运行速度快 b.价格:mysql对多数个人来 ...

  8. 解决 es CircuitBreakingException 问题

    比如频繁报如下错误, [2019-06-16T15:31:22,778][DEBUG][o.e.a.a.c.n.i.TransportNodesInfoAction] [node-xxx] faile ...

  9. 微信小程序var和let以及const有什么区别

    微信小程序var和let以及const的区别: 在JavaScript中有三种声明变量的方式:var.let.const. var:声明全局变量,换句话理解就是,声明在for循环中的变量,跳出for循 ...

  10. noi7219 复杂的整数划分问题

    noi7219 复杂的整数划分问题 #include <bits/stdc++.h> using namespace std; ; int dp1[maxn][maxn], dp2[max ...