HDU 1164 Eddy's research I 数论
2015-12-15 10:43
363 查看
题意:把一个数表示成它的素因子乘积。
思路:暴力找出它的素因子,然后输出即可。
http://acm.hdu.edu.cn/showproblem.php?pid=1164/********************************************* Problem : HDU 1164 Author : NMfloat InkTime (c) NM . All Rights Reserved . ********************************************/ #include <map> #include <set> #include <queue> #include <cmath> #include <ctime> #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #define rep(i,a,b) for(int i = (a) ; i <= (b) ; i ++) #define rrep(i,a,b) for(int i = (b) ; i >= (a) ; i --) #define repE(p,u) for(Edge * p = G[u].first ; p ; p = p -> next) #define cls(a,x) memset(a,x,sizeof(a)) #define eps 1e-8 using namespace std; const int MOD = 1e9+7; const int INF = 0x3f3f3f3f; const int MAXN = 1e5+5; const int MAXE = 2e5+5; typedef long long LL; typedef unsigned long long ULL; int T,n,m,k; int ans[1005]; void input() { } void solve() { int tmp = n ; int pos = 0 ; for(int i = 2 ; i * i <= tmp ; i ++) { if(tmp % i == 0) { while(tmp % i == 0) { ans[++pos] = i; tmp /= i; } } } if(tmp > 1) ans[++pos] = tmp; rep(i,1,pos) { printf("%d",ans[i]); if(i == pos) puts(""); else printf("*"); } } int main(void) { //freopen("a.in","r",stdin); //scanf("%d",&T); while(T--) { //while(~scanf("%d %d",&n,&m)) { while(~scanf("%d",&n)) { input(); solve(); } return 0; }
相关文章推荐
- Java中类HashSet<E>和类LinkedHashSet<E>的区别
- bbc mvn报错
- IE9父容器overflow:auto时,子容器状态更改导致滚动条下出现额外空间的问题探讨
- 关于运算符重载作为友元函数在VC++6.0中编译出错的两种解决方案
- iOS中JavaScript和OC交互
- iOS 开发获取当前时间 NSDate
- HDU1035深度搜索
- 通过Spring Session实现新一代的Session管理
- Android关于PagerAdapter的使用方法的总结
- java 调试
- 定时器详述
- 互斥锁 临界区 信号量 事件的区别
- 如何将网卡中断绑定到特定cpu?
- 代理模式理解
- C++文件读写详解(ofstream,ifstream,fstream)
- osg的link2019错误
- selenium 2.0 webdriver 学习笔记(二)
- Android ClipboardManager 使用注意
- php设置cookie,在js中如何获取
- webview加载html的离线缓存