除了调用库,绝对找不到比这更精简的代码了. #include<stdio.h> #include<string.h> long long getdata(long long n){ long long sum = 1; while(n){ sum*=n--; } return sum; } int main(){ long long sum = 0; long
循环从1乘到20,要注意的就是结果可能会很大,长度超出int类型的范围,所以定义乘积的时候用long. 代码如下: public class Practice3 { public static void main(String args[]){ long result=1; for(int i=1;i<=20;i++) result=result*i; System.out.println("20的阶乘为"+result); } } 效果如图:
从键盘输入一个整数n,求前n项的阶乘之和,1+2!+3!+...+n!的和 输入格式: 输入一个大于1的整数.例如:输入20. 输出格式: 输出一个整数.例如:2561327494111820313. 输入样例: 在这里给出一组输入.例如: 20 输出样例: 在这里给出相应的输出.例如: 2561327494111820313 def f(n): ans = 1 for i in range(1,n+1): ans *= i return ans n = int(input()) sum = 0
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,
阶乘之和输入n,计算S=1!+2!+3!+…+n!的末6位(不含前导0).n≤10 6 ,n!表示前n个正整数之积.样例输入:10样例输出: package demo; import java.util.Scanner; public class demo02 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); long sum=0; for (int