1. 程式人生 > >第十一屆湖南大學生程式設計競賽 階乘除法(思維)

第十一屆湖南大學生程式設計競賽 階乘除法(思維)

題目思路很清晰,就不講解了,思路分析直接詳細寫在程式碼了,程式碼如下:

#include<iostream>
#include<cmath>
using namespace std;
#define ll long long

int main()
{
    ll k;
    ll tmp;        //記錄遍歷上限
    int p=1;
    while(cin>>k)
    {
        cout<<"Case "<<p++<<": ";
        ll n=k,m=k-1,sum=1;   //所有的奇數的都是n和n-1的階乘
        ll left=1,right=2;    //記錄乘積區間左右端點
        tmp=(ll)sqrt(k)+20;
        bool flag=true;
        while(left<tmp)       //確定乘積區間
        {
            while(right<tmp&&sum<k)    //首先確定一段區間,再進行推移
            {
                sum*=right;
                right++;
            }
            if(sum==k)
            {
                n=right-1;       //因為在上面的迴圈裡多加了一次1
                m=left;
                flag=false;
                break;      //只要找到了就停止迴圈
            }
            sum/=left;
            left++;
        }
        if(!flag)
        {
            if(m!=1)
            m--;
        }
        if(k==1)
            cout<<"Impossible"<<endl;
        else
            cout<<n<<' '<<m<<endl;
    }
    return 0;
}


相關推薦

十一屆湖南大學生程式設計競賽 乘除思維

題目思路很清晰,就不講解了,思路分析直接詳細寫在程式碼了,程式碼如下: #include<iostream> #include<cmath> using namespac

CSU-1781 乘除 列舉

#include<stdio.h> #include<iostream> #include<string.h> #include<algorithm&g

河南省六屆大學生程式設計競賽 :異 形 卵

題目描述 我們探索宇宙,是想了解浩瀚星空的奧妙,但我們卻很少意識到宇宙深處藏匿的危險,它們無時無刻不緊盯著我們的地球。如果外星人拜訪我們,結果可能與哥倫布當年踏足美洲大陸不會有什麼兩樣,這是歷史,也是現實。 在ZDM-777星球上發現的休眠異形卵,其外表與常見的卵不同,表面被一層石墨覆蓋

河南省六屆大學生程式設計競賽 ——異 形 卵

                        &nbs

“浪潮杯”山東省九屆ACM大學生程式設計競賽

目錄 題目描述 輸入描述: 輸出描述: 輸入 輸出 解析: 程式碼: 題目描述 輸入描述: 輸出描述: 輸入 輸出 題目描述 輸入描述: 輸出描述: 輸入 輸出 題目描述 輸入描述: 輸出描述: 輸入 輸出 題

九屆福建省大學生程式設計競賽 部分題解

這題是無符號的計算,但是有個坑就是我用printf輸出一直wa,用cout輸出就AC。#include<cstdio> #include<iostream> #include<cstring> #include<string>

“浪潮杯”山東省九屆ACM大學生程式設計競賽 F Four-tuples (容斥原理)

題目連結 比賽時推了好久的容斥,結果推錯了,過了樣例就交了,然後A了。後來才知道這題有bug。菜啊。 題意:給定四個區間(li,ri)(li,ri)(閉區間),求一個四元組(x1,x2,x3,x4)(x1,x2,x3,x4),滿足xixi在區間(li,ri)

九屆福建省大學生程式設計競賽部分題解

比賽就這樣過去了,A2題水了個銅獎第三回來= =感覺能A3拿個銀獎的 目錄 A:Uint47 calculator D:Number theory   E:Traffic jam  F:IoU  G:Chosen by god&nb

河南省十一屆ACM大學生程式設計大賽榜單

今年的榜單有點隨意,只有隊伍編號,沒有學校和隊名,湊活著看吧。本來是十題,後兩題沒有人做出來,就沒有截到,2018/5/28 Programming Contest                   

“Wishare杯”南郵八屆大學生程式設計競賽之現場決賽 題解報告

A.爆炸吧,現充 (紅) 時間限制:1000ms           記憶體限制:65536K 題目描述: a協有部分脫團分子,日復一日,年復一年地進行秀恩愛虐狗行為,對其他成員持續造成著精神傷害。Kojimai君表示在異端分子長期慘無人道的精神攻擊下,早早的患上了少年痴呆

“Wishare杯”南郵八屆大學生程式設計競賽之網路預賽 題解報告

對於第二組樣例 第一個人可以以(1,1) -> (2,1) -> (2, 2) -> (3,2) -> (3,3)的順序說服5個妹子 第二個人的順序可以是(1, 1) -> (2, 1) -> (3, 1),因為(1,1) (2,1)位置的妹子已經被說服了,他這一輪只說

山東省三屆ACM大學生程式設計競賽 Fruit Ninja I01揹包

01揹包 加上vector的運用,貪心sort排序 #include <stdio.h> #include <vector> #include <string.h>

2018年內蒙古自治區十三屆大學生程式設計競賽題解

A.內蒙創業簡單判斷是否符合條件即可#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int t;

2020年“感恩杯”台州學院十三屆大學生程式設計競賽D、H、I題解後續補充

D題:小z與他的襪子 描述 小z每天會穿一雙新襪子。 開始他的衣櫃裡有n雙襪子,襪子會從1~n進行編號。每天早上他都會從衣櫃裡拿編號最小的襪子來穿。每天晚上他會把今天穿的襪子扔進籃子裡,如果籃子裡有n-1雙襪子了,懶惰的小z就得必須把他們洗掉,明天晚上他們會重新放進衣櫃裡。 小z想知道在第k天他應該穿哪雙

2018ACM-ICPC國際大學生程式設計競賽亞洲區域賽青島站賽後總結

這是今年最後一次打鐵,我已經打了一年的鐵了。 還是想寫一個總結,不然,什麼都會沒留下。 實際上在去青島之前,我已經一個月都沒有嚴格地訓練自己了,從9月份CCPC秦皇島站打鐵之後,我就基本上開始懷疑自己了,熱情也沒有第一次打區域賽那麼高了,加上回來以後,學校ACM集訓

CSU Problem 1781 乘除——湖南省十一屆大學生計算機程式設計競賽

輸入兩個正整數 n, m,輸出 n!/m!,其中階乘定義為 n!= 1*2*3*...*n (n>=1)。 比如,若 n=6, m=3,則 n!/m!=6!/3!=720/6=120。 是不是很簡單?現在讓我們把問題反過來:輸入 k=n!/m!,找到這樣的整數二元組(n,m) (n>m>=

湖南省十一屆大學生計算機程式設計競賽(乘除法)

問題 F: 階乘除法 時間限制: 5 Sec  記憶體限制: 128 MB提交: 84  解決: 19 [提交][狀態][討論版] 題目描述 輸入兩個正整數 n, m,輸出 n!/m!,其中階

中南大學十一屆大學生程式設計競賽-COJ1904-精靈的交際網

Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 12 Solved: 2 Description 天才少女科學家Cicini

【河南省十一屆ACM大學生程序設計競賽-D】.求XF+閉包

-s 更多 競賽 width 測試 字母 clu 數據庫設計 table   如何設計一個好的數據庫不僅僅是一個理論研究問題,也是一個實際應用問題。在關系數據庫中不滿足規範化理論的數據庫設計會存在冗余、插入異常、

八屆福建省大學生程式設計競賽-FZU 2280 HASH處理+暴力搜尋

題目:Problem 2280 Magic  Problem Description Kim is a magician, he can use n kinds of magic, number from 1 to n. We use string Si to describe m