题目链接: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