15,877,051 members
See more:
```I am attaching my codes with the question. I have used the logic :
I have first found all the prime numbers in the 10 consecutive numbers starting from 1. Used them to divide each number in the range of the 10 consecutive numbers starting from 1. Then i have counted their power and then have displayed the product.

I know that I am wrong at the last step but I want to know whether I can use my initial logic to solve this problem. Other logics are equally welcomed. Thank You in advance.```

What I have tried:

Python
```count = 0
product = 1
num = 0
c1 = 0
for i in range(1,10):
i += 1
for n in range(2,i):
num = i%n
n += 1
if num == 0:
count += 1
else:
continue
if count == 0:
prime = i
else:
continue
for x in range(2,10):
if x%prime == 0:
while x%prime==0:
c1 += 1
product *= (prime**c1)
print(product)```
Posted
Updated 2-Jul-19 9:08am
Richard MacCutchan 2-Jul-19 3:15am
This is mathematics not programming. Google for LCM and you will find many explanations.
Member 14517556 2-Jul-19 6:06am
I am quite familiar with lcm and can easily find it by paper pen But I am not able to figure out how to do the same with python
Richard MacCutchan 2-Jul-19 6:47am
It is exactly the same issue; finding values and comparing them. As I suggested in your other question, your time would be better spent actually studying the python language.

## Solution 2

Quote:
I am quite familiar with lcm and can easily find it by paper pen But I am not able to figure out how to do the same with python

If you are familiar with lcm, why do you stick with the most complicated algorithm?
Using the GCD is much easier and don't need prime factorization, which is a great improvement for large numbers.
Least common multiple - Wikipedia[^]

As far as I can see, this loop never ends (I am not using Python, but the logic is suspicious to me):
Python
```while x%prime==0:
c1 += 1
```

Quote:
I know that I am wrong at the last step

Your code do not behave the way you expect, or you don't understand why !

There is an almost universal solution: Run your code on debugger step by step, inspect variables.
The debugger is here to show you what your code is doing and your task is to compare with what it should do.
There is no magic in the debugger, it don't know what your code is supposed to do, it don't find bugs, it just help you to by showing you what is going on. When the code don't do what is expected, you are close to a bug.
To see what your code is doing: Just set a breakpoint and see your code performing, the debugger allow you to execute lines 1 by 1 and to inspect variables as it execute.

Debugger - Wikipedia, the free encyclopedia[^]

Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[^]
Basic Debugging with Visual Studio 2010 - YouTube[^]

27.3. pdb — The Python Debugger — Python 3.6.1 documentation[^]
Debugging in Python | Python Conquers The Universe[^]
pdb – Interactive Debugger - Python Module of the Week[^]

The debugger is here to only show you what your code is doing and your task is to compare with what it should do.

Member 14517556 2-Jul-19 22:53pm
Thank You
Maciej Los 3-Jul-19 15:05pm
Well explained!
Patrice T 3-Jul-19 15:10pm
Thank you

## Solution 1

You have to decompose the numbers in factors and then multiply every found factor at its maximum power. See Factors of an integer - Rosetta Code - Python[^].

v4
Member 14517556 2-Jul-19 0:13am
can you explain in a little detail as I am not getting it. What the last line is about?
CPallini 2-Jul-19 2:32am
There was a mistake, in my answer. Sorry for the inconvenience. Fixed now.
Member 14517556 2-Jul-19 6:09am
If you are comfortable can you please write it in a little detail. Actually I am doing the same or probably trying to do so but not getting the favourable result.
CPallini 2-Jul-19 11:25am
See my updated solution.