⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p1261.cpp

📁 高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程
💻 CPP
字号:
#define DEBUG

#include <iostream>
#include <strstream>
#include <fstream>

using namespace std;

#ifdef DEBUG
        ifstream in ( "p.in" );
        ofstream out ( "p.out" );
#else
        istream & in = cin;
        ostream & out = cout;
#endif

int     N;
char    data [100];
int     Len;
int     Ansa [100] , Ansb [100];

bool    init ()
{
        int     i , a , b;
        in.getline( data , 100 ); 
        istrstream sin ( data , strlen ( data ) + 1 );
        N = 1;
        sin >> a; if ( a == 0 ) return false;
        sin >> b; for ( i = 0; i < b; i ++ ) N *= a;
        while ( sin >> a ) {
                sin >> b;
                for ( i = 0; i < b; i ++ ) N *= a;
        }
        N --;
        return true;
}

void    Part ()
{
        int     i;
        int     t;
        Len = 0;
        for ( i = 2; i <= N; i ++ ) if ( N % i == 0 ) {
                for ( t = 0; N % i == 0; N /= i ) t ++;
                Ansa [Len] = i; Ansb [Len] = t;
                Len ++;
        }
        for ( i = Len - 1; i >= 0; i -- ) {
                out << Ansa [i] << ' ' << Ansb [i];
                if ( !i ) out << endl;
                        else out << ' ';
        }
}

main ()
{
        while ( init ()) Part ();
}
 

⌨️ 快捷键说明

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