华中科技大学 阶乘(java)

题目描述
输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数) y2=2!+4!+...p!(p是小于等于n的最大偶数)。
输入描述:
每组输入包括1个整数:n
输出描述:
可能有多组测试数据,对于每组数据,
输出题目要求的y1和y2
示例1
输入
复制
4
输出
复制
7 26
import java.util.*;
import java.io.*;
import java.text.* ;
public class Main
{
    public static void main(String[] args){   	
    	try {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		String str;
    		while((str=br.readLine()) != null) {
    			int n = Integer.parseInt(str);
    			int[] factorials = new int[n+1];
    			factorials[0] = 1;
    			for(int i = 1; i <= n; i++) {
    				factorials[i] = factorials[i-1]*i;
    			}
    			int y1 = 0;
    			for(int i = 1; i <= n; i = i+2) {
    				y1 += factorials[i];
    			}
    			int y2 = 0;
    			for(int i = 2; i <= n; i = i+2) {
    				y2 += factorials[i];
    			}
    			System.out.println(y1+" "+y2);
    		}
    	} catch(IOException e){
    		e.printStackTrace();
    	}
    }
}



发布了212 篇原创文章 · 获赞 21 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43306331/article/details/104219749