程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> uva--993Product of digits

uva--993Product of digits

編輯:C++入門知識

uva--993Product of digits


水題一枚,如果n能分解成2--9的因子相乘的形式的話肯定是可以的,如果不行那麼就直接輸出-1;

那麼當能分解的時候,為了能使得答案的值最小,我們選擇先分解大的因子;也就是按9--2的次序進行分解。

分解後直接按因子從小到大輸出就是答案了。


代碼如下:


#include
#include
#include
using namespace std;

int main()
{

      int i,j,k,t,ans[50];
      long long n;
      scanf("%d",&t);
      while(t--)
      {
             k=0;
             scanf("%lld",&n);
             if(n==1)
             {
                    printf("1\n");
                    continue;
             }
             for(i=9;i>=2;i--)
                        while(n%i==0)
                        {
                                ans[k++]=i;
                                 n=n/i;
                        }
             if(n>10)
             {
                    printf("-1\n");
                    continue;
             }
             for(i=k-1;i>=0;i--)
                 printf("%d",ans[i]);
            printf("\n");
      }
     return 0;
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved