How do I generate a number divisable by 5, and check it?
-
natural numbers are the ordinary counting numbers 1, 2, 3, ... (sometimes zero is also included) is what Wikipedia[^] offers as a definition. Now you can choose: either you include zero and you are allowed to use it at both sides of your
0/x=n
, or you exclude it (and then your "except zero" remark that started all this is completely irrelevant). :doh:Luc Pattyn [My Articles] Nil Volentibus Arduum
-
Generate a random integer in [2000, 19999] and multiply it by 5. The result will always be in [10000, 99999] (ie 5 decimal digits) and be divisible by 5 (by construction)
int yourNumber = 5 * rand.Next(2000, 20000); // remember the max-bound is exclusive
if (yourNumber % 5 != 0)
Console.WriteLine("the universe is wrong");And make sure you reuse a single instance of
Random
, if you create new ones the result won't be random. [/spoon feeding]David1987 wrote:
And make sure you reuse a single instance of
Random
,How exactly do I ensure that I am doing this? I am using rand a number of times, and although I get different values, it does appear that they are very simular. Regards, Stephen
-
Nope. You seem to think that that is the only definition of divisibility. I did not personally redefine anything. There is no natural number n such that 0/x=n so no x evenly divides 0. If you use the definition with integers instead of natural numbers, everything divides zero. Also, the prime factorization of zero is empty.
-
Does this mean that no matter what number I generate, it will always have to end in 5? e.g. All these numbers are divisable by 5
39485
99045
12095
49385
99335However, I was under the impression I could generate numbers that would be divisable by 5, but not end in 5? Is this wrong? Regards, Stephen
All integers evenly divisible by 5 must end in either 5 or 0 when expressed in base 10. This is basic math.
Software Zen:
delete this;
-
Hi. First, how would I create a random number, and then add the last digit, so that it is divisable by 5? the number should always be 5 digits long. Second, how do I check it, I think I need to do something like...
if (int x MOD 5 ==0)
Or something like that. The first step is the most important though. Thank you, Steve
Is this a joke question? Generate a four digit number and add an extra number to the end, being either 5 or 0. Then don't check it because it will be correct!!! e.g. 4678; add 5 on the end to give 46785.
-
Hi. First, how would I create a random number, and then add the last digit, so that it is divisable by 5? the number should always be 5 digits long. Second, how do I check it, I think I need to do something like...
if (int x MOD 5 ==0)
Or something like that. The first step is the most important though. Thank you, Steve
-
riced wrote:
If a number is divisible by 5 it must end in 5 or 0
Yes; I was getting confused with the coding issue not the actual math.
riced wrote:
that's primary school arithmetic.
I know, I am a Biomedical Scientist.
riced wrote:
If you don't believe me write out the 5 times table for the numbers 1 to 20.
I do believe you. Like I said, it was the coding side of things. However, it is my fault the way I explained myself, it did indeed look as though I didn’t understand the math itself, and I certainly was not questioning you answer. Sorry if it came across that way, and thank you. Kind Regards, Stephen
-
stephen.darling wrote:
riced wrote:
that's primary school arithmetic.
I know, I am a Biomedical Scientist.
You are NOT a scientist. A scinetist knows elementary math. You should be ashamed of yourself.
There can be only one.
mmwlada wrote:
You are NOT a scientist. A scinetist knows elementary math. You should be ashamed of yourself.
How dare you! I may be a beginner in the programming world, but to be spoken to in this way from someone who does not know me is extremely rude! I am indeed a scientist, registered in the UK as a practising biomedical scientist, not that I need to explain myself to you! As for the math, if you took the time to read through the post, you would see that I simply explained myself wrong, and it was the programming that I was struggling with, and not the math. As for being ashamed of myself; I do not know what your problem is, but believe me, I have nothing to be ashamed of, and could now go on to say allot about, and to you, however, I will refrain! Stephen
-
riced wrote:
If a number is divisible by 5 it must end in 5 or 0
Yes; I was getting confused with the coding issue not the actual math.
riced wrote:
that's primary school arithmetic.
I know, I am a Biomedical Scientist.
riced wrote:
If you don't believe me write out the 5 times table for the numbers 1 to 20.
I do believe you. Like I said, it was the coding side of things. However, it is my fault the way I explained myself, it did indeed look as though I didn’t understand the math itself, and I certainly was not questioning you answer. Sorry if it came across that way, and thank you. Kind Regards, Stephen
Actually, every number is divisible by 5.
-
Actually, every number is divisible by 5.
FunkySteve wrote:
Actually, every number is divisible by 5
True. Again, my fault for not explaining properly. I meant a modulus of zero, so that 13285 MOD 5 = 0 Got it all sorted now, thanx to most people, disregarding one perticular ignorant comment :confused: Thank you, Steve
-
a random multiple of five is bound to be five times some other random number. :omg:
Luc Pattyn [My Articles] Nil Volentibus Arduum
I'd say you're stating the obvious, but then, I remember when I was very young and inexperienced and I couldn't see stuff like this. So, it's not always obvious as one might think. You got my five.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson
-
Does this mean that no matter what number I generate, it will always have to end in 5? e.g. All these numbers are divisable by 5
39485
99045
12095
49385
99335However, I was under the impression I could generate numbers that would be divisable by 5, but not end in 5? Is this wrong? Regards, Stephen
Is this discussion really taking place? What is this, 3rd grade?
-
I'd say you're stating the obvious, but then, I remember when I was very young and inexperienced and I couldn't see stuff like this. So, it's not always obvious as one might think. You got my five.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson
I tend to state facts, even obvious ones, especially when it seems to OP is missing them somehow. Rather than spoon feeding, I prefer to give a gentle push in the right direction... :)
Luc Pattyn [My Articles] Nil Volentibus Arduum
-
Is this discussion really taking place? What is this, 3rd grade?
Kenneth Kasajian wrote:
Is this discussion really taking place? What is this, 3rd grade?
What is everones problem? I asked how to solve a basic math based problem PROGMATICALLY as I am a beginner when it comes to c#, and I am wishing I never bothered asking! Although, there are a number of people who have offered working solutions. Why must people post such a responce as yours? Did your post really help in anyway? Regards, Stephen
-
I tend to state facts, even obvious ones, especially when it seems to OP is missing them somehow. Rather than spoon feeding, I prefer to give a gentle push in the right direction... :)
Luc Pattyn [My Articles] Nil Volentibus Arduum
Completely agree, I'm totally against the "gimme codezzzz plz" culture.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson
-
Nope. You seem to think that that is the only definition of divisibility. I did not personally redefine anything. There is no natural number n such that 0/x=n so no x evenly divides 0. If you use the definition with integers instead of natural numbers, everything divides zero. Also, the prime factorization of zero is empty.
http://mathworld.wolfram.com/EvenNumber.html[^] Note zero is an even number and by definition dividable by two, the answer is just zero. As a recall from calculus I, you can't divide a number by zero but you can divide a number as the devisor approaches zero.
ARon
-
Hi. First, how would I create a random number, and then add the last digit, so that it is divisable by 5? the number should always be 5 digits long. Second, how do I check it, I think I need to do something like...
if (int x MOD 5 ==0)
Or something like that. The first step is the most important though. Thank you, Steve
Generate a five digit random number, convert to string, replace the right most digit with 5 (or 0), parse the string back to an int. No need to check as anything ending in 5 or 0 is divible by 5.
-
Does this mean that no matter what number I generate, it will always have to end in 5? e.g. All these numbers are divisable by 5
39485
99045
12095
49385
99335However, I was under the impression I could generate numbers that would be divisable by 5, but not end in 5? Is this wrong? Regards, Stephen
Seriously??? Were you sleeping during elementary math classes? I'm sorry but if I were your boss and you asked me that question I would transfer you out of my department over to HR or maybe Daycare. :omg:
-
That is a stupid definition. It would also indicate that -10 is not divisible by 5. There may be abstruse mathematical concepts for which it's useful, I suppose, but for normal maths it is nonsense.
-
Generate a five digit random number, convert to string, replace the right most digit with 5 (or 0), parse the string back to an int. No need to check as anything ending in 5 or 0 is divible by 5.
This would work as an alternative but the math approach is better (more performant) unless you want the final value to be a string. And, even then the math approach would be faster. (nnnn*10)=nnnn0 It's the same as appending a "0" to a four-digit number but it's much faster.