标签:des style http color os java io strong ar
/*
中文题目 最后的练习
中文翻译-大意 举例说明60%2==0;60/2==30;30%2==0;30/2==15;15%2!=0;15%3==0;15/3==5;5%3!=0;5%5==0;根据例子可以看出60的质子含有2^2, 3^1, 5^1,按样例输出2【】2【】3【】1【】5【】1【】。
解题思路:先打一个素数表,在直接求解就可以了
注意:除第一个数据外,其余输入后要空行;输出格式坑人啊。
关键点:输出格式
解题人:lingnichong
解题时间:2014-08-29 00:33:47
解题体会:没看清题意,凭着感觉写输出,结果oj好不客气的给我个PE
*/
60 12 -1
Case 1. 2 2 3 1 5 1 Case 2. 2 2 3 1Hint60=2^2*3^1*5^1
/*本题注意格式为如下
60
Case 1.
2 2 3 1 5 1
12
Case 2.
2 2 3 1
12
Case 3.
2 2 3 1
-1
--------------------------------
Process exited with return value 0
Press any key to continue . . .
*/
#include<stdio.h>
#include<string.h>
#define MAXN 65536+10
int a[MAXN],b[MAXN];
int main()
{
int n,i,j,k=0,t=1;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
a[0]=a[1]=-1;
for(i=2;i<MAXN/2;i++)
{
for(j=2*i;j<MAXN;j+=i)
if(a[j] != -1)
a[j] = -1;
}
for(i=0;i<MAXN;i++)
{
if(a[i]==0)
b[k++] = i;
}
while(scanf("%d",&n),(n>=0))
{
if(t>1)
printf("\n");
printf("Case %d.\n",t++);
for(i = 0; i <= n/2; i++)
{
int count=0,flag=0;
while(n%b[i]==0)
{
count++;
n /= b[i];
flag=1;
}
if(flag==1)
printf("%d %d ",b[i],count);
}
printf("\n");
}
return 0;
}
HDU 1405 The Last Practice【注意输出格式】
标签:des style http color os java io strong ar
原文地址:http://blog.csdn.net/qq_16767427/article/details/38911943