判斷乙個數和這個數的重組對8是否能整除的題

2021-07-16 16:23:01 字數 704 閱讀 4923

小貓很無聊,竟然開始研究數字的整除了,有這樣乙個問題。

給定乙個非負整數,問能否重排它的全部數字,使得重排後的數能被8

整除。輸入格式:多組資料,每組資料是乙個非負整數。非負整數的位數不超過

10000

位。輸出格式每組資料輸出一行

,yes

或者no

,表示能否重排它的全部數字得到能被

8整除的數。注意: 重排可以讓

0開頭。

#include "iostream"

#include "algorithm"

#define maxn 1000

char a[maxn];

int main()

}long k=0;

for(j=0;a[j]!='\n';j++)

std::sort(a,a+k);

do}while(std::next_permutation(a,a+k)); //利用next_permutation函式對陣列進行重組

if(m)

else

return 0;

}

next_permutation()函式的用法:

這個函式是從小到大列舉出乙個數列中的排序所有可能值

atol()函式的用法:

這個函式是將乙個字元陣列,轉換為乙個long整型的數

判斷乙個數是否是回文數

題目 定義回文數的概念如下 如果乙個非負數左右完全對應,則該數是回文數,如 121,22 如果乙個負數的絕對值左右完全對應,則該數是回文數,如 121,22 public static void main string args printrandm arr,3 1 5 4 system.out.p...

判斷乙個數是否是質數

乙個數如果可以進行因數分解,那麼分解的兩個數一定是乙個小於等於sqrt n 乙個大於等於sqrt n 因此遍歷到sqrt n 即可。因為如果sqrt n 左側找不到因數,右側也一定找不到因數。中心思想 遍歷n是否能被2到sqrt n 之間的數整除,如果不能則為質數。import math defis...

判斷乙個數是否是素數

素數釋義 曾稱質數。乙個大於1的正整數,如果除了1和它本身以外,不能被其他正整數整除,就叫素數。如2,3,5,7,11,13,17 public boolean isprime int n for int i 2 i從2開始,一直到小於其自身,依次判斷能否被n整除即可,能夠整除則不是質數,否則是質數...