I need help to solve this task using while statement - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: I need help to solve this task using while statement (/thread-24938.html) |
I need help to solve this task using while statement - rico4pepe - Mar-11-2020 def sum_divisors(n): sum = 0 # Return the sum of all divisors of n, not including n return sum print(sum_divisors(0)) # 0 print(sum_divisors(3)) # Should sum of 1 # 1 print(sum_divisors(36)) # Should sum of 1+2+3+4+6+9+12+18 # 55 print(sum_divisors(102)) # Should be sum of 2+3+6+17+34+51 # 114 RE: I need help to solve this task using while statement - micseydel - Mar-11-2020 What have you tried? We'd be happy to help, but we need to see some effort for you (we're not going to do your homework for you). RE: I need help to solve this task using while statement - ibreeden - Mar-11-2020 First question: how do you find the divisors of a number? Hint: do you know the modulo operator? RE: I need help to solve this task using while statement - Pranav - Mar-18-2020 Try using the following steps. Within the function declare a variable k and check the condition within the while loop. k=1 while(k<(n-1)): .....step1 .....step2 k+=1 STEP1:Using modulo operator check if the variable k is a multiple of n. STEP2:Increment the value of k every time to another variable(sum) if the above condition is True. RE: I need help to solve this task using while statement - pyzyx3qwerty - Mar-18-2020 first, you need to find the divisors of the number by using the modulo operator use a for loop to make sure that divisor is less than the number then inside the for loop make a while loop for every number less than the original one, and is divisible by it inside the while loop, then print a statement to find the sum of all divisors RE: I need help to solve this task using while statement - Jaikanth - Apr-01-2020 try this def sum_divisors(n): sum=1 x=int(n**0.5) for i in range(2,(x//1)+1): if n%i==0: sum=sum+i if n%i==0 and n/i!=i: sum=sum+(n/i) return int(sum) RE: I need help to solve this task using while statement - pyzyx3qwerty - Apr-02-2020 (Apr-01-2020, 08:38 PM)Jaikanth Wrote: try thisThis is a homework problem, you aren't supposed to write code for others |