poj 2325
来源:互联网 发布:mac os系统镜像 编辑:程序博客网 时间:2024/04/29 07:41
#include<iostream>#include<cstdio>#include<cstring>#include<string.h>#include<string>#include<algorithm>using namespace std;/*如果这个数有>7的质因子,那么there is no possible answer*//*一位的质数*/const int maxlength = 1005;char digit[maxlength];char division[maxlength];char res[maxlength];bool div(int d){ int i,cnt = 0,tmpnum = 0; for(i = 0; digit[i]; ++i){ tmpnum = tmpnum * 10 + digit[i] - '0'; division[cnt++] = tmpnum / d + '0'; tmpnum %= d; } division[cnt] = '\0'; if(tmpnum == 0){ i = 0; while(division[i] == '0'){ ++i; } strcpy(digit,division+i); return true; } else return false;}int main(){ // freopen("1.txt","r",stdin); int i,cnt; bool exist,noexist; while(scanf("%s",digit)!=EOF){ if(digit[0] == '-'){ break; } noexist= false; cnt = 0; int len = strlen(digit); if(len < 2){ printf("1%s\n",digit); continue; } while(true){ exist = false; for(i = 9; i > 1; --i){ if(div(i)){ exist = true; res[cnt++] = '0' + i; break; } } if(!exist){ //没有找到合适的除数 if(strlen(digit) > 1){ noexist = true; } break; } } if(noexist){ printf("There is no such number.\n"); } else{ for(i = cnt - 1; i >= 0; --i){ printf("%c",res[i]); } printf("\n"); } } return 0;}
greedy algoritthm倒是想出来了,但是忘了读入的是大整数(理解题意不力...)
高精度除法还是很值得借鉴的~
0 0
- poj 2325
- POJ 2325
- POJ 2325
- POJ 2325 Persistent Numbers
- poj 2325 Persistent Numbers
- poj 2325 Persistent Numbers
- poj 2325 Persistent Numbers
- poj 2325 && uva 10527
- POJ-2325解题报告
- POJ 2325 Persistent Numbers .
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- 字节序及对堆栈的影响
- IOS解决键盘挡住UITextView的方法
- Python3 入门(二)
- ora-01031:insufficient privileges解决方法
- iOS--UITextView的高度自适应
- poj 2325
- buffer cache实验4-ckptq的工作机制与增量检查点及fast_start_mttr_target参数
- 根据当前日期,计算一个人的年龄
- UVa 350 伪随机数
- SAP EXCEL 上传和下载
- 视频编解码学习(2)——数字视频
- buffer cache实验5-latch:cache buffers chain
- 汉诺塔 (C#230)
- webapp系列开发之二:Dreamweaver CS6配置Phonegap运行环境介绍