組合出最大的數字能被15整除

2021-08-14 16:13:40 字數 1068 閱讀 7446

最近在複習沒有更新,被同學問到這樣乙個題就做了一下隨便發上來吧。

#pragma warning(disable:4996)

#include #include #include #include using namespace std;

#define n 1005

char dt[n];

//data int

int dtint[n];

int countsum(int len)

bool divthree(int len)

else if (sum % 3 == 1)

}if (work) return true;

} //輸入樣例 54676778 排序45667778 (4+5+6+6+7+7+8)%3 == 2 進入這個if判斷

//如果刪5 剩下4667778 不能除以5 輸出impossible

//如果刪除8 剩下4566777 滿足除以3==0 又有5 所以最終輸出 7776645

//所以這裡不能單純刪最小的5,要判斷一下有沒有0,沒有0的話至少留乙個5

else if (sum % 3 == 2)

}if (work) return true;

} else

if (dtint[i] == 5) five++;}}

if (work) return true;

} }return false;

}//判斷是不是能被5整除 如果可以換位置。

bool divfive(int len)

} return false;

}int main()

} if (count1 > 0)

printf("\n");

} else

}//如果既不能刪除乙個數字變成合法的數字,還要一種解法就是0,萬能的,參考樣例 505,他不能刪除任何乙個成為合法的,但是有萬能的0

else if (len != 0 && dtint[0] == 0)

else printf("impossible\n");

}

能被 K 整除的最大連續子串長度

網上流傳的2017美團秋招筆試題 問題描述 兩個測試樣例輸出都是5 演算法思路 暴力解法時間會超限,使用一種很巧妙的數學方法。用在讀取陣列arr時用陣列sum記錄其前 i 項的和,即 sum i arr 1 arr 2 arr i 利用這乙個數學性質 假設前m項之和被 k 除后餘數是 x,前n項之和...

AcWing 890 能被整除的數

題目描述 給定乙個整數n和m個不同的質數p1,p2,pm。請你求出1 n中能被p1,p2,pm中的至少乙個數整除的整數有多少個。輸入格式 第一行包含整數n和m。第二行包含m個質數。輸出格式 輸出乙個整數,表示滿足條件的整數的個數。資料範圍 1 m 16,1 n,pi 10 9 輸入樣例 10 2 2...

能被N整除的數字的特徵(數學知識點)

能被1整除的數 好像是所有數都行 能被2整除的數 末位數字是偶數的數 能被3整除的數 各位數字之和能被3整除 能被4整除的數 末尾兩位數字能被4整除 能被5整除的數 末位是0或5的數 能被6整除的數 既能被2整除,又能被3整除 能被7整除的數 方法1 割尾法 適用於數字位數較少 乙個數割去末位數字,...