题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1405
60 12 -1
Case 1. 2 2 3 1 5 1 Case 2. 2 2 3 1Hint60=2^2*3^1*5^1
题意很明了!但是格式确实把我坑了一把!注意了最后一个案例是没有空格的情况!但是没想到的是每个案例输出的最后一个数字后面还有空格(过于小心,特意去掉了最后一个空格,结果一直PE,后来才知道最后还有一个空格,图样图森破)!
代码如下:
#include <cstdio> int a[1017], b[1017]; int K; int cas = 0, f = 0; void slove(int n) { int tt = 2; K = 0; int c = 0, flag = 0; while(n) { if(n%tt == 0) { flag = 1; n/=tt; c++; } else if(n%tt!=0 && flag) { a[K] = tt; b[K] = c; K++; c = 0; tt++; flag = 0; if(n == 1) break; } else tt++; } } void prit() { printf("Case %d.\n",++cas); for(int i = 0; i < K; i++) { //if(i == 0) // printf("%d %d",a[0],b[0]); //else // printf(" %d %d ",a[i],b[i]); printf("%d %d ",a[i],b[i]); } printf("\n"); f = 1; } int main() { int n; while(scanf("%d",&n) && n >= 0) { if(f) printf("\n"); slove(n); prit(); } return 0; }
HDU 1405 The Last Practice(数学题,变态的格式)
原文地址:http://blog.csdn.net/u012860063/article/details/39159429