日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UVA10780幂和阶乘

發布時間:2025/6/17 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UVA10780幂和阶乘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? 輸入兩個整數n,m(1<m<5000,0<n<10000)求最小的k使得m^k是n!的因子。


思路:
? ? ?比較容易想,一開始手殘wa了好幾次,我們直接求出m和n!的素數因子和個數就行了,假如s1[a]表示的是n!的素數因子a的個數,s2是m的,則Ans=min(Ans ,s1[a]/s2[a]);這個應該不用解釋,很好理解吧!




#include<stdio.h>
#include<string.h>


int Pri[11000] ,pt;
int mark[11000];
int s1[11000] ,s2[11000];


void DBPri()
{
? ? memset(mark ,0 ,sizeof(mark));
? ? mark[1] = 1;
? ? pt = 0;
? ? for(int i = 2 ;i <= 10000 ;i ++)
? ? {
? ? ? ? if(!mark[i])
? ? ? ? {
? ? ? ? ? ? Pri[++pt] = i;
? ? ? ? ? ? for(int j = i + i ;j <= 10000 ;j += i)
? ? ? ? ? ? mark[j] = 1;
? ? ? ? }
? ? }
}


int main ()
{
? ? DBPri();
? ? int t ,cas = 1 ,i ,j ,n ,m;
? ? scanf("%d" ,&t);
? ? while(t--)
? ? {
? ? ? ? scanf("%d %d" ,&m ,&n);
? ? ? ? memset(s1 ,0 ,sizeof(s1));
? ? ? ? for(i = 1 ;i <= n ;i ++)
? ? ? ? {
? ? ? ? ? ? int now = i;
? ? ? ? ? ? for(j = 1 ;Pri[j] <= now && j <= pt ;j ++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? while(now % Pri[j] == 0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? now /= Pri[j];
? ? ? ? ? ? ? ? ? ? s1[Pri[j]] ++;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }




? ? ? ? memset(s2 ,0 ,sizeof(s2));
? ? ? ? int mm = m;
? ? ? ? for(i = 1 ;Pri[i] <= mm && i <= pt ;i ++)
? ? ? ? if(mm % Pri[i] == 0)
? ? ? ? {
? ? ? ? ? ? while(mm % Pri[i] == 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? s2[Pri[i]] ++;
? ? ? ? ? ? ? ? mm /= Pri[i];
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? int Ans = 100000;
? ? ? ? for(i = 1 ;Pri[i] <= m && i <= pt ;i ++)
? ? ? ? if(m % Pri[i] == 0)
? ? ? ? {
? ? ? ? ? ? if(Ans > s1[Pri[i]] / s2[Pri[i]])
? ? ? ? ? ? Ans = s1[Pri[i]] / s2[Pri[i]];
? ? ? ? }


? ? ? ? printf("Case %d:\n" ,cas ++);
? ? ? ? if(Ans == 0) printf("Impossible to divide\n");
? ? ? ? else ?printf("%d\n" ,Ans);
? ? }
? ? return 0;
}











總結

以上是生活随笔為你收集整理的UVA10780幂和阶乘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。