當(dāng)前位置:
首頁(yè) >
URAL 1014 Product of Digits
發(fā)布時(shí)間:2025/3/21
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
URAL 1014 Product of Digits
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
URAL_1014
??? 基本的貪心思路是留下盡量少的項(xiàng),而且這些項(xiàng)的字典序盡可能小。因此,要優(yōu)先生成8,然后優(yōu)先生成9,6,4,最后生成質(zhì)數(shù)。至于為什么先生成9,再生成6,再生成4,這個(gè)可以將2、3的個(gè)數(shù)分奇偶討論一下就很清楚了。
??? 此外還有一些細(xì)節(jié)需要注意,比如N=1的時(shí)候輸出1,N=0的時(shí)候輸出10。
#include<stdio.h> #include<string.h> int N, h[15]; void solve() {int i;memset(h, 0, sizeof(h));while(N % 8 == 0)++ h[8], N /= 8;while(N % 9 == 0)++ h[9], N /= 9;while(N % 6 == 0)++ h[6], N /= 6;while(N % 4 == 0)++ h[4], N /= 4;for(i = 2; i < 8; i ++)while(N % i == 0)++ h[i], N /= i;if(N != 1)printf("-1");else{for(i = 2; i < 10; i ++)while(h[i])printf("%d", i), -- h[i];}printf("\n"); } int main() {while(scanf("%d", &N) == 1){if(N == 0)printf("10\n");else if(N == 1)printf("%d\n", N);elsesolve();}return 0; }轉(zhuǎn)載于:https://www.cnblogs.com/staginner/archive/2012/05/01/2477541.html
總結(jié)
以上是生活随笔為你收集整理的URAL 1014 Product of Digits的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: System.Web.HttpReque
- 下一篇: ECMAScript 基础--原始类型