您的位置:首页 > 其它

sz 与 rz 命令

2015-10-27 11:23 169 查看

The Last Practice

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6065 Accepted Submission(s): 1235


[align=left]Problem Description[/align] Tomorrow is contest day, Are you all ready?
We have been training for 45 days, and all guys must be tired.But , you are so lucky comparing with many excellent boys who have no chance to attend the Province-Final.

Now, your task is relaxing yourself and making the last practice. I guess that at least there are 2 problems which are easier than this problem.
what does this problem describe?
Give you a positive integer, please split it to some prime numbers, and you can got it through sample input and sample output.

[align=left]Input[/align] Input file contains multiple test case, each case consists of a positive integer n(1<n<65536), one per line. a negative terminates the input, and it should not to be processed.
[align=left]Output[/align] For each test case you should output its factor as sample output (prime factor must come forth ascending ), there is a blank line between outputs.
[align=left]Sample Input[/align]
60 12 -1

[align=left]Sample Output[/align]
Case 1. 2 2 3 1 5 1  Case 2. 2 2 3 1 Hint 60=2^2*3^1*5^1

[align=left]Author[/align] lcy
[align=left]Source[/align] 杭电ACM集训队训练赛(IV)
[align=left]Recommend[/align] Ignatius.L

本题注意:格式

#include<stdio.h> #include<math.h> #include<string.h> int pri[65538]; int ispri[65538];//32769 int n; void prime()   //求出素数数组pri[] {     int i,j;     memset(ispri,true,sizeof(ispri));     for(i=2;i<32769;i++)         for(j=i+i;j<65538;j+=i)             ispri[j]=false;     i=0;     for(j=2;j<65538;j++)         if(ispri[j])             pri[i++]=j;     n=i; } int main() {     int m;     prime();     int a
;     int x=1;     while(scanf("%d",&m)&&m>0)     {         memset(a,0,sizeof(a));         if(x!=1)     //数据组中间要空行             printf("\n");         for(int i=0;m!=1&&i<n;)         {             if(m%pri[i]==0)             {                 a[i]++;                 m/=pri[i];             }             else                 i++;         }         printf("Case %d.\n",x++);         for(int i=0;i<n;i++)         {             if(a[i]!=0)                 printf("%d %d ",pri[i],a[i]);   //每个数据后面都要有空格         }         printf("\n");     }     return 0; }


本文出自 “try it” 博客,请务必保留此出处http://huahua520amy.blog.51cto.com/6729449/1373768
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: