time limit: 1 sec
memory limit: 128 mb
submit: 59
solved: 16 [
submit][
status][
web board]
n個站成一列的士兵和乙個整數m,士兵編號是1 --- n。每次士兵按編號從小到大的順序依次報數,如果報的數不是m的倍數,則該士兵出列。這樣重複幾次直到剩下的士兵的數量小於m為止。問最後剩下的士兵有幾個,他們的編號分別是多少。
多組測試資料。
每組資料報含兩個數n,m。
n<=1000000000
m<=1000
當n=0,m=0時結束
每組測試資料輸出兩行。
第一行乙個數t,代表剩下的士兵數。
第二行t個數,代表剩下的士兵的編號,公升序排列。
10 38 30 0
192解題思路:3 6
這裡題意補充下,資料保證n > m。不斷地n / m,直到小於m為止。這時最後小於m的n為剩的人數。接下來我們需要關注最開始的那個人的編號,我們前面在出的時候記錄做除法的次數,最開始的編號就是m ^ cnt,補充下,這裡不要用pow,自己手動模擬下,不然100 50這組資料過不了。
完整**:
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
#pragma comment(linker, "/stack:102400000,102400000")
typedef long long ll;
typedef double db;
typedef unsigned uint;
typedef unsigned long long ull;
/** constant list .. **/ //
printf("%d\n" , temp % m);
/* int temp2=pow(m,cnt);
cout << m << " " << cnt << " " << temp2<< endl;
cout << temp2 <
2018 6 18 數學問題
define crt secure no deprecate 求正整數n的質因數的個數。120 2 2 2 3 5 所以最後輸出時5 10 9 n至多只存在乙個大於sqrt n 的素因數 這裡只需要篩選到100000就可以 通過素數表,不斷試除,最後求出各個冪指數的和 include 素數表找到10...
2018 6 18 數學問題
2 4 3 8 2 3 3 對分母n 和分子 a進行因子分解後,找到其對應的冪指數相除結果最小的即為最後結果 對n!分解素因數 計算n 中將有幾個p因子ans 計算n p,有n p個整數可以向n 提供乙個p因子 ans n p 計算n p p 有n p p 個整數可以向n 提供兩個因子,相較於上乙個...
基礎數學問題
要找出唯一單著的那個數,可以用異或的方式 我們已知 a a 0 對於存在偶數個的數字,遲早會互相抵消,奇數個的數字也會兩兩抵消,只剩下最後乙個答案。1 模擬 1.將數字轉換為2進製字串s1 itoa 2.補前導零,字串s2先存低位,再存高位 相當於交換 3.轉換為10進製輸出 atoi 注意 2 3...