C++で多数が13で割り切れるかどうかを確認します
ここでは、数値が13で割り切れるかどうかを確認する方法を説明します。この場合、その数は非常に多い数です。したがって、数値を文字列として入力します。
数値が次の状況を満たしている場合、数値は13で割り切れます-
- 交互の合計が得られる場合にのみ、数値は13で割り切れます。つまり、右から左への3つの数値のブロックの加算と減算が、13で割り切れます。たとえば、2911285は、交互の合計が13で割り切れます。サイズ3のブロックは2– 911 + 285 =-650で、13で割り切れます。
- 数値が13で割り切れるのは、最後の桁に4を掛けたものを足し算して数が13で割り切れる場合のみです。たとえば、2353を考えます。上記の規則を適用すると、235 + 3 *4=になります。 247.次の反復では、24 + 7 * 4 =52です。52は13で割り切れるので、与えられた数は13で割り切れます。
例
#include <bits/stdc++.h> using namespace std; bool isDiv13(string num){ int length = num.size(); if (length == 1 && num[0] == '0') return true; if (length % 3 == 1) { //when length is not divisible by 3, remainder is 1 num +="00"; length += 2; } else if (length % 3 == 2){ //when length is not divisible by 3, remainder is 2 num += "0"; length += 1; } int sum = 0, p = 1; for (int i = length - 1; i >= 0; i--) { int set = 0; set += (num[i--] - '0'); set += (num[i--] - '0') * 10; set += (num[i] - '0') * 100; sum = sum + set * p; p *= (-1); } sum = abs(sum); return (sum % 13 == 0); } int main() { string num = "83959092724"; if(isDiv13(num)){ cout << "Divisible"; } else { cout << "Not Divisible"; } }
出力
Divisible
-
Pythonで多数が19で割り切れるかどうかを確認します
大きな数が与えられ、その数が19で割り切れるかどうかを確認する必要があるとします。 したがって、入力が86982のような場合、出力は「除算」になります。 繰り返し加算法を使用してこの問題を解決します。この方法では、数値から最後の桁を抽出し、2を掛けて、19で割り切れる2桁の数値が得られるまで、残りの数値に結果を加算します。 これを解決するには、次の手順に従います- 数値は100で割り切れますが、 last_digit:=number mod 10 数値:=(数値を10で割った値)のフロア値 数値:=数値+ last_digit * 2 数値mod19が0と同じ場合、Trueを
-
Pythonで多数が17で割り切れるかどうかを確認します
ある番号が与えられ、その番号が17で割り切れるかどうかを確認する必要があるとします。 したがって、入力が99943のような場合、出力は除算されます。 この問題は、繰り返し減算法を使用して解決します。この方法では、数値の最後の桁を抽出し、17で割り切れる2桁の数値が得られるまで、数値から5回減算します。 これを解決するには、次の手順に従います- 数値は100で割り切れますが、 last_digit:=number mod 10 数値:=(数値を10で割った値)のフロア値 number:=number --last_digit * 5 数値mod17が0と同じ場合はtrueを返