一道C 競賽題

2021-08-26 11:46:56 字數 1120 閱讀 2687

題目的大致意思是:一些數字順時針排成乙個圈,最上面的是1,從1開始,隔乙個數,移除乙個數,順時針一直移下去,直到最後剩下兩個數,這兩個數就是幸運數字。

例如1、2、3、4、5,開始如下圖:

然後從1開始隔乙個去掉乙個數,如下圖:

這個時候已經一輪了,但是剩餘數字還大於2,所以繼續去,這個時候4被去掉了,跳過數字5,就要去數字1了,如下圖:

最後的lucky number就是3和5.

要求:

輸入:乙個數字n,即最大的數

輸出:第一行顯示各個被移除的數字,按被移除的順序顯示

第二行顯示剩下的兩個性慾數字。

我的**如下:

using system; using system.collections.generic; using system.linq; using system.text; namespace luckynumber //輸入數字 public static int inputnumber() catch (exception) } //初始化數字列表 public static ilistinitnumberlist(int n) return numberlist; } //去掉資料操作 public static ilistremovednumberoperation(ilistnumbers) else } //去除numberlist所有的0 removedzerofromnumberlist(numbers); if (numbers.count == 3) else return numbers; } if (numbers.count == 2) return numbers; } } public static ilistremovedzerofromnumberlist(ilistnumbers) } } //列印幸運數字 public static void printluckynumber(ilistnumbers) } }

競賽題筆記(1)

題目 整體思路 只有當甲乙同時到達目的地時才是使用時間最短的方法,因此先求出二者到達目的地所需要的時間的表示式,以時間近似相等為判定條件 通過調整甲在中途下車的地點 使用二分法 而得出答案 二分法 include include int main double s,s1,s2,v1,v2,t1,t2...

關於C 的一道題

閱讀下面程式,然後請寫出輸出結果 cpp view plaincopy include using namespace std int main void 輸出結果如下圖 分析 為什麼會這樣的結果呢?首先我們先分析一下程式,首先我們先看看第一組a和b,那麼a和b是什麼呢?根據我們所學,我們知道a和b...

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...