In diesem Artikel besprechen wir die Ermittlung der Anzahl der Wiederholungseinheiten, die durch N teilbar ist. Eine Wiederholungseinheit ist einfach die Anzahl der Wiederholungen von 1, sei R(k) die Wiederholungseinheit, wobei k die Länge von 1 ist. Zum Beispiel ist R(4) = 1111. Wir müssen also die kleinste Anzahl von k finden, für die R(k) durch N teilbar ist, wie z. Ist es durch N teilbar? Mit dieser Lösung können wir jedoch nicht bestimmen, ob N durch einen beliebigen Wert von R(k) teilbar ist. Dadurch wird das Programm zu komplex und funktioniert möglicherweise nicht einmal.
Eine effiziente Möglichkeit, dieses Programm zu lösen, ist:Überprüfen Sie, ob N teilerfremd mit 10 ist.
Wenn nicht, dann ist R(k) für keinen Wert von k durch N teilbar.Input : N = 13 Output : k = 6 Explanation : R(6) i.e 111111 is divisible by 13. Input : N = 31 Output : k = 15
#include <bits/stdc++.h> using namespace std; int main() { int N = 31; int k = 1; // checking if N is coprime with 10. if (N % 2 == 0 || N % 5 == 0){ k = 0; } else { int r = 1; int power = 1; // check until the remainder is divisible by N. while (r % N != 0) { k++; power = power * 10 % N; r = (r + power) % N; } } cout << "Value for k : "<< k; return 0; }
Das obige ist der detaillierte Inhalt vonTeilbarkeit von Wiederholungseinheiten (mit C++). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!