如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

URAL/1014

来自"NOCOW"

跳转到: 导航, 搜索
//注意特殊情况 
 
#include <iostream>
#include <stdlib.h>
using namespace std;
int n;
int a[10];
void work()
{
	cin >> n;
	int i, j;
	if(n == 0) {cout << 10 << endl;return;}
	else if(n == 1){cout << 1 << endl;return ;}
	for(i = 9 ; i >= 2 && n != 0 ; )
		if(n % i == 0) n /= i, a[i]++;
		else i--;
	if(n != 1){cout << -1 << endl;return ;}
	for(i = 2 ; i <= 9 ; i++)
		for(j = 1 ; j <= a[i] ; j++)
			cout << i;
	cout << endl;
}
int main()
{
	work();
	return 0;
}
var n,c,i:longint;
    ans:array[1..32] of longint;
begin
  readln(n);
  if n=0 then begin writeln(10);halt;end;
  if n=1 then begin writeln(1);halt;end;
  for i:=9 downto 2 do
  begin
    while n mod i=0 do
	    begin inc(c);ans[c]:=i;n:=n div i;if n=0 then break;end;
  end;
  if n<>1 then write(-1) else
  for i:=c downto 1 do write(ans[i]);
  writeln;
 end.
VAR
  i,n:longint;
  s:string;
BEGIN
  readln(n);
  s:='';
    if n=0 then writeln(10)
      else if n=1 then writeln(1)
        else
          BEGIN
            for i:=9 downto 2 do
              while n mod i=0 do
                BEGIN
                  n:=n div i;
                  s:=chr(i+48)+s;
                END;
            if n>10 then writeln(-1)
              else writeln(s);
          END;
END.
个人工具