uva 12934
来源:互联网 发布:北京淘宝电商培训 编辑:程序博客网 时间:2024/06/07 03:16
题目大意:
给你一个K,问k是否是两个数阶乘相除得到的,输出最小的两个数
题目解析:
这是一个简单的数学题,首先当k=1时,Impossible,如果是奇数直接输出k,k-1,因为阶乘得到的都是偶数,最后当k是偶数的时候,再枚举就可以得到答案。
代码:
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;int flag,ans1,ans2;int main(){ //freopen("in.txt","r",stdin); long long k; int cas=0; while(cin>>k) { int flag=0; cas++; if(k==1) { cout<<"Case "<<cas<<": Impossible"<<endl; continue; } else if(k%2==1) { cout<<"Case "<<cas<<": "<<k<<" "<<k-1<<endl; continue; } else { for(int i=2; i*i<k; i++) { long long n=i; for(int j=i+1;;j++) { n*=j; if(n==k) { flag=1; ans1=j; ans2=i-1; break; } if(n>k) break; } if(flag) break; } if(flag) cout<<"Case "<<cas<<": "<<ans1<<" "<<ans2<<endl; } } return 0;}
阅读全文
0 0
- uva 12934
- Uva 12934 Factorial Division
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- mfc中设置listcontrol某一行的背景和文字颜色
- 如何写软件概要设计?
- Java基础06 组合
- 二叉树非递归遍历
- 使用Nodejs进行web开发
- uva 12934
- android——数据储存
- 2017.08.05【NOIP提高组】模拟赛B组总结
- 前端基础知识
- C/C++程序编译运行生成过程分析
- 第一写下属于自己的东西
- 数通平台软件的封装库:对象管理库
- SQL学习之排序与过滤
- HDU6071-Lazy Running 最短路+思维