先要讀懂題意:
n!%(a^k)==0,n!%(a^(k+1))!=0,輸出k
乙個非素數總能表示成若干個素數的乘積,所以這道題可以轉化成:
將n!分解成若干個質因數 (其中(x1,n1)表示n!的質因子中有n1個x1)
將a分解成若干個質因數 ,(其中(x1,a1)表示a的質因子中有a1個x1)
將n1和a1對應相減,k++,如果減完以後,原來不=0的ni成了0,此時就說明可以停止了,(因為每乙個a分解成的質因子都是相同的,這次成了0,說明n!%(a^k)==0,如果再除一次,n!%(a^k)就<0了);如果不是0,重複3
#include#include#includeusing namespace std;
bool isprime[1005];
mapprime_count_n,prime_count_a;
void init(int n)
isprime[0]=false;
isprime[1]=false;
for(int i=2;i<=n;i++)
prime_count_n.insert(pair(i,0));
for(int j=i*i;j<=n;j+=i) }}
int main()
if(temp==1)
} }// for(map::iterator it=prime_count_n.begin();it!=prime_count_n.end();it++)
}if(temp==1)
} } cout/ cout
}
上海交大MBA學費與資助
學費與資助 申請費 人民幣800元 中國學生暫免 學費 分兩年支付 全日制課程 人民幣16.8萬元 業餘制課程 人民幣18.8萬元 學費中還包括 注 以上列明的資源與設施包括大學與學院兩級資源 住宿費 徐匯校區,校內住宿資源僅面向全日制學生 約人民幣1,200 年 每年略有浮動,恕不另行通知 獎學金...
上海交大2009 日期差值
題目描述 有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天 輸入 有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd 輸出 每組資料輸出一行,即日期差值 樣例輸入 20110412 20110422 樣例輸出 11 這個題做了我乙個晚上,不是不會做...
2012華為校園招聘上機考試題(上海交大考場)
今天參加了華為的上機考試。一共兩道題,題目挺簡單的。我簡要回顧一下吧 1 將字串轉換為整數 可能為負數 例如 輸入 5456 的字串,要求得到5456整數 輸入 2048 得到 2048 函式原型 void strtoint char str,int pintout 其中 str是輸入的字串,pin...