-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgramming_Assignment_9.py
More file actions
95 lines (78 loc) · 2.02 KB
/
Programming_Assignment_9.py
File metadata and controls
95 lines (78 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
1. Check if a number is a Disarium Number:
```python
def is_disarium(num):
num_str = str(num)
total = 0
for i, digit in enumerate(num_str):
total += int(digit) ** (i + 1)
return total == num
print(is_disarium(518)) # True
print(is_disarium(466)) # False
print(is_disarium(8)) # True
```
2. Print all Disarium numbers between 1 and 100:
```python
def is_disarium(num):
num_str = str(num)
total = 0
for i, digit in enumerate(num_str):
total += int(digit) ** (i + 1)
return total == num
print("Disarium numbers between 1 and 100:")
for i in range(1, 101):
if is_disarium(i):
print(i)
```
3. Check if a number is a Happy Number:
```python
def is_happy(num):
seen = set()
while num != 1:
if num in seen:
return False
seen.add(num)
num = sum(int(digit) ** 2 for digit in str(num))
return True
print(is_happy(19)) # True
print(is_happy(7)) # True
print(is_happy(400)) # False
```
4. Print all Happy numbers between 1 and 100:
```python
def is_happy(num):
seen = set()
while num != 1:
if num in seen:
return False
seen.add(num)
num = sum(int(digit) ** 2 for digit in str(num))
return True
print("Happy numbers between 1 and 100:")
for i in range(1, 101):
if is_happy(i):
print(i)
```
5. Check if a number is a Harshad Number:
```python
def is_harshad(num):
num_sum = sum(int(digit) for digit in str(num))
return num % num_sum == 0
print(is_harshad(18)) # True
print(is_harshad(21)) # True
print(is_harshad(12)) # True
print(is_harshad(6)) # True
print(is_harshad(10)) # True
print(is_harshad(7)) # False
```
6. Print all Pronic numbers between 1 and 100:
```python
def is_pronic(num):
i = 0
while i * (i + 1) < num:
i += 1
return i * (i + 1) == num
print("Pronic numbers between 1 and 100:")
for i in range(1, 101):
if is_pronic(i):
print(i)
```