标签: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