Skip to content

Commit 2bd07d7

Browse files
committed
feat: add solutions to lc problem: No.0504
No.0504.Base 7
1 parent 006c6f8 commit 2bd07d7

File tree

4 files changed

+128
-0
lines changed

4 files changed

+128
-0
lines changed

solution/0500-0599/0504.Base 7/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,52 @@
4646

4747
```
4848

49+
### **TypeScript**
50+
51+
```ts
52+
function convertToBase7(num: number): string {
53+
if (num == 0) {
54+
return '0';
55+
}
56+
let res = '';
57+
const isMinus = num < 0;
58+
if (isMinus) {
59+
num = -num;
60+
}
61+
while (num != 0) {
62+
const r = num % 7;
63+
res = r + res;
64+
num = (num - r) / 7;
65+
}
66+
return isMinus ? '-' + res : res;
67+
}
68+
```
69+
70+
### **Rust**
71+
72+
```rust
73+
impl Solution {
74+
pub fn convert_to_base7(mut num: i32) -> String {
75+
if num == 0 {
76+
return String::from("0");
77+
}
78+
let mut res = String::new();
79+
let is_minus = num < 0;
80+
if is_minus {
81+
num = -num;
82+
}
83+
while num != 0 {
84+
res.push_str((num % 7).to_string().as_str());
85+
num /= 7;
86+
}
87+
if is_minus {
88+
res.push('-');
89+
}
90+
res.chars().rev().collect()
91+
}
92+
}
93+
```
94+
4995
### **...**
5096

5197
```

solution/0500-0599/0504.Base 7/README_EN.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,52 @@ The input will be in range of [-1e7, 1e7].
5252

5353
```
5454

55+
### **TypeScript**
56+
57+
```ts
58+
function convertToBase7(num: number): string {
59+
if (num == 0) {
60+
return '0';
61+
}
62+
let res = '';
63+
const isMinus = num < 0;
64+
if (isMinus) {
65+
num = -num;
66+
}
67+
while (num != 0) {
68+
const r = num % 7;
69+
res = r + res;
70+
num = (num - r) / 7;
71+
}
72+
return isMinus ? '-' + res : res;
73+
}
74+
```
75+
76+
### **Rust**
77+
78+
```rust
79+
impl Solution {
80+
pub fn convert_to_base7(mut num: i32) -> String {
81+
if num == 0 {
82+
return String::from("0");
83+
}
84+
let mut res = String::new();
85+
let is_minus = num < 0;
86+
if is_minus {
87+
num = -num;
88+
}
89+
while num != 0 {
90+
res.push_str((num % 7).to_string().as_str());
91+
num /= 7;
92+
}
93+
if is_minus {
94+
res.push('-');
95+
}
96+
res.chars().rev().collect()
97+
}
98+
}
99+
```
100+
55101
### **...**
56102

57103
```
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
impl Solution {
2+
pub fn convert_to_base7(mut num: i32) -> String {
3+
if num == 0 {
4+
return String::from("0");
5+
}
6+
let mut res = String::new();
7+
let is_minus = num < 0;
8+
if is_minus {
9+
num = -num;
10+
}
11+
while num != 0 {
12+
res.push_str((num % 7).to_string().as_str());
13+
num /= 7;
14+
}
15+
if is_minus {
16+
res.push('-');
17+
}
18+
res.chars().rev().collect()
19+
}
20+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function convertToBase7(num: number): string {
2+
if (num == 0) {
3+
return '0';
4+
}
5+
let res = '';
6+
const isMinus = num < 0;
7+
if (isMinus) {
8+
num = -num;
9+
}
10+
while (num != 0) {
11+
const r = num % 7;
12+
res = r + res;
13+
num = (num - r) / 7;
14+
}
15+
return isMinus ? '-' + res : res;
16+
}

0 commit comments

Comments
 (0)