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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

kuangbin 数学训练一 Ekka Dokka

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kuangbin 数学训练一 Ekka Dokka 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:
傳送門

#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<cmath> #define ll long long using namespace std; const int N = 200010;ll t, w, k, n;int main() {scanf("%lld", &t);while(t--) {scanf("%lld", &w);ll m = 1;//當前數字中不包含偶數因子if(w & 1) printf("Case %d: Impossible\n", ++k);else {//不斷地提取2的因子while(!(w & 1)) w /= 2, m *= 2;//輸出答案printf("Case %lld: %lld %lld\n", ++k, w, m);}} }

這道題要我們把數分解出兩個因子,一個為奇數,一個為偶數。而且偶數因子還要盡可能的小。我們考慮一下這道題的情況:
首先第一種就是沒有偶數因子的情況,這種情況下,我們輸出“Impossible”即可。
其余情況下,我們可以想想如何才能得到一個最小的偶數因子,首先由于另一個因子為奇數,所以我們只要把含2的因子提取出來乘在一起就是最小的偶數因子了。這是因為如果此時把當前偶數因子的任何一個非1的因子提取出來給另一個因子時,這個因子一定會變成偶因子,不符合題意。
所以最終我們的做法就是不斷的提取當前數的2的因子,直到當前數是奇數為止,然后輸出答案即可。

總結

以上是生活随笔為你收集整理的kuangbin 数学训练一 Ekka Dokka的全部內容,希望文章能夠幫你解決所遇到的問題。

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