/....................................................................................................................................................................................\
题目解析:输入一个数,输出这个数的全部因子和每个因子的个数。
题目一点都不难,就是输出格式太卡人,加这次,总共做了四次,终于ac了。
错误分析:一开始没有找到输出的格式,改好之后提交过不了,后来又检查代码,发现没有考虑素数。
我想此题要考的应该是素数。
\..................................................................................................................................................................................../
#include <iostream>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
#include<list>
#include<vector>
#pragma comment(linker,"/STACK:102400000,102400000")
using namespace std;
int main()
{
int i,n,count=1,m,t,k,a[65536],t1=1,j;
while(scanf("%d",&n)&&n>1)
{
memset(a,0,sizeof(a));
k=0;
int t3;
t=n;
for(i=2;i<=t/2+1;i++)
{
if(n%i==0)
{
a[k++]=i;
n=n/i;
i--;
}
}
if(k==0)
a[k++]=n;
if(count!=1)
printf("\n");
printf("Case %d.\n",count++);
m=a[0];
t3=0;
for(i=1;i<=k;i++)
{
if(m==a[i])
t1++;
else
{
printf("%d ",m);
printf("%d ",t1);
t1=1;
}
m=a[i];
}
printf("\n");
}
return 0;
}