my error in the write n!+1 = 0 mod n

1 visualizzazione (ultimi 30 giorni)
Mohammed AL Rashedi
Mohammed AL Rashedi il 5 Mar 2023
n=1:500;
n_true = [];
for i=1:length(n)
x = 2:n(i);
nq=factorial(n(i)))+1;
x3 = mod(0,n(i));
if ~any(x3 == nq)
n_true(end+1) = n(i);
end
end
i want find all n values by n!+1 = 0 mod n
  2 Commenti
the cyclist
the cyclist il 5 Mar 2023
I did not look for errors in your code, but be aware that factorial(n) will return Inf, for values larger than 169:
factorial(168:172)
so your code will likely not do what you expect. Even for smaller values of n, it might not be accurate.
Steven Lord
Steven Lord il 5 Mar 2023
By the definition of the factorial function, factorial(n) is equivalent to 0 mod n as it is n*factorial(n-1). [The base case where n = 0 is handled by the convention, listed on the mod documentation page, that mod(x, 0) is x.] So you're looking for values of n for which 1 is also equivalent to 0 mod n. That would mean 1 is an integer multiple of n. For how many values of n is this true?

Accedi per commentare.

Risposte (1)

Jan
Jan il 5 Mar 2023
Modificato: Jan il 5 Mar 2023
nq=factorial(n(i)))+1;
% ^
Here are more closing then opening parentheses.
Whenever you mention an error in the forum, attach a copy of the complete message.
This is strange also:
x3 = mod(0,n(i))
This checks, if 0 is divisable by n(i). Even the equation n!+1 = 0 mod n looks confusing.
  4 Commenti
the cyclist
the cyclist il 5 Mar 2023
Of course. Now I feel dumb. Well, dumber than usual. :-)
Mohammed AL Rashedi
Mohammed AL Rashedi il 5 Mar 2023
Dear the cyclist exactly, "I think he is trying to find n where" .Thank you Walter Roberson .
Thank you guys. I love you

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by