1405 the last practice.cpp

来自「威士忌的HDU题解.大概有260多题的源码。对于学习非常有好处。」· C++ 代码 · 共 57 行

CPP
57
字号
/*
1405 The Last Practice
Time Limit : 1000 ms  Memory Limit : 32768 K  Output Limit : 256 K

GUN C++
*/
#include <iostream>
#include <stdio.h>
using namespace std;

const int Max=1000;

int findFactor(int savenum[],int n)
{
    int total,temp,i;
    i=2;total=1;
    while(n>=2)
    {
        if(n%i==0)
        {
            savenum[total]=i;
            total++;
            n/=i;
        }
        else
            i++;
    }
    return total;
}

int main()
{
    int t=1,n,ca,factor[Max]={0},times[Max],size,i;
    while(cin>>n && n>0)
    {
        if(t>1)
            printf("\n");
        printf("Case %d.\n",t++);
        size=findFactor(factor,n);
        times[0]=0;factor[0]=0;
        for(ca=1,i=0;ca<size;ca++)
        {
            if(factor[ca]==factor[ca-1])
            {   times[i]=ca;}
            else
            {   i++;times[i]=ca;}
        }
        for(ca=1;ca<=i;ca++)
        {
            printf("%d %d ",factor[times[ca]],times[ca]-times[ca-1]);
        }
        printf("\n");
    }
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?