Muszę sprawdzić, czy każda liczba od 1 do 1000 jest wielokrotnością 3 lub wielokrotnością 5. Pomyślałem, że zrobię to, aby podzielić liczbę przez 3, a jeśli wynik jest liczbą całkowitą, być wielokrotnością 3. To samo z 5.
Jak sprawdzić, czy liczba jest liczbą całkowitą?
oto mój obecny kod:
n = 0
s = 0
while (n < 1001):
x = n/3
if isinstance(x, (int, long)):
print 'Multiple of 3!'
s = s + n
if False:
y = n/5
if isinstance(y, (int, long)):
s = s + n
print 'Number: '
print n
print 'Sum:'
print s
n = n + 1
Odpowiedzi:
Robisz to za pomocą operatora modułu,
%
oblicza prawdę wtedy i tylko wtedy, gdy
n
jest dokładną wielokrotnościąk
. W matematyce elementarnej jest to znane jako reszta z dzielenia.W Twoim obecnym podejściu dokonujesz podziału i wynik będzie albo
To po prostu zły sposób testowania podzielności.
źródło
0 == 0*5
Możesz po prostu użyć
%
operatora Modulus, aby sprawdzić podzielność.Na przykład:
n % 2 == 0
oznacza, że n jest dokładnie podzielne przez 2 in % 2 != 0
oznacza, że n nie jest dokładnie podzielne przez 2.źródło
Miałem takie samo podejście. Ponieważ nie rozumiem, jak używać operatora modułu (%).
6% 3 = 0 * Oznacza to, że jeśli podzielisz 6 przez 3, nie będziesz miał reszty, 3 to współczynnik 6.
Teraz musisz odnieść to do danego problemu.
if n% 3 == 0 * To znaczy, że jeśli moja liczba (n) jest podzielna przez 3, pozostawiając 0 resztę.
Dodaj swoje oświadczenie (wydrukuj, zwróć) i kontynuuj
źródło
Możesz użyć operatora%, aby sprawdzić podzielność podanej liczby
Kod do sprawdzenia, czy podano nr. jest podzielna przez 3 lub 5, gdy nie. mniej niż 1000 podano poniżej:
źródło
Ten kod wydaje się robić to, o co prosisz.
Albo coś w stylu
Lub wiele rzeczy.
źródło
źródło
x=10000000000000000; b = str(x/(x-1)); b
w interpreter Pythona.Dla małych liczb
n%3 == 0
będzie dobrze. W przypadku bardzo dużych liczb proponuję najpierw obliczyć sumę krzyżową, a następnie sprawdzić, czy suma krzyżowa jest wielokrotnością 3:źródło
Spróbuj tego ...
źródło
szablon jinja2 fizzbuz:
źródło
Najprostszym sposobem jest sprawdzenie, czy liczba jest liczbą całkowitą
int(x) == x
. W przeciwnym razie, co powiedział David Heffernan.źródło