博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【华科考研机试题】阶乘
阅读量:5291 次
发布时间:2019-06-14

本文共 784 字,大约阅读时间需要 2 分钟。

题目

输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数) y2=2!+4!+...p!(p是小于等于n的最大偶数)。

解题思路

打表算最快,不用每个数据都算一次。

复杂度

时间复杂度(输入的数据量O(m))

空间复杂度O(1)

代码

#include 
using namespace std;typedef long long ll;//实际上算到30的阶乘肯定溢出了//但是没关系,题目给的肯定不是溢出的数据 ll jc[30]; //jc[i]表示i的阶乘 ll ans[30]; // ans[i]表示奇、偶数项阶乘和 int main(){ //算1~30的阶乘 jc[0] = 1; for(int i = 1;i < 30; ++i){ jc[i] = jc[i-1]*i; } //算奇、偶数项阶乘和 ans[1] = 1; for(int i = 2;i < 30; ++i){ ans[i] = ans[i-2] + jc[i]; } //每个n直接判断奇偶输出即可 //不用每个数据再算一次阶乘 ll n; while(cin >> n){ if(n%2){ cout << ans[n] << " " << ans[n-1] << endl; }else{ cout << ans[n-1] << " " << ans[n] << endl; } } return 0;}

转载于:https://www.cnblogs.com/zhangjiuding/p/10421403.html

你可能感兴趣的文章
PHP实现栈(Stack)数据结构
查看>>
python常见问题及解决
查看>>
[原创]Java 的传值小例子
查看>>
【MySQL学习】安装和配置 服务无法启动 没有报告任何错误
查看>>
C# 修饰符
查看>>
JavaScript启示录
查看>>
我需要什么样的浏览器?
查看>>
取textaera里的值
查看>>
java设计模式1--工厂方法模式(Factory Method)
查看>>
博客第一弹—聊聊HTML的那些事
查看>>
上海2017QCon个人分享总结
查看>>
HIVE快速入门 分类: B4_HIVE 2015-...
查看>>
Mysql安装方法及安装问题解决
查看>>
Java动态代理的两种实现方式:
查看>>
PHP trait
查看>>
Redis的常用命令(三)
查看>>
HDOJ 4749 Parade Show
查看>>
python 多线程并发threading & 任务队列Queue
查看>>
【黑马程序员】资深程序员的见解
查看>>
1_fbauto
查看>>