ST语言(Structured Text)是一种文本编程语言,主要用于编写程序和文档。以下是一些经典的编程题案例,以及如何使用ST语言来解决这个问题的示例。
1. 计算阶乘:
```st
function factorial(n) {
if (n == 0) {
return 1;
} else {
- return n * factorial(n
- 1);
}
}
```
2. 判断素数:
```st
function is_prime(n) {
if (n <= 1) {
return false;
} else if (n <= 3) {
return true;
} else if (n % 2 == 0 || n % 3 == 0) {
return false;
} else {
for (let i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
}
```
3. 计算斐波那契数列:
```st
function fibonacci(n) {
let a = 0, b = 1;
for (let i = 2; i <= n; i++) {
let temp = a + b;
a = b;
b = temp;
}
return b;
}
```
4. 判断是否为回文字符串:
```st
function is_palindrome(s) {
let left = 0;
- let right = s.length
- 1;
while (left < right) {
if (s[left] != s[right]) {
return false;
}
left++;
right--;
}
return true;
}
```
5. 计算最大公约数:
```st
function gcd(a, b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
6. 判断是否为完全平方数:
```st
function is_perfect_square(n) {
let root = Math.sqrt(n);
return root * root == n;
}
```
7. 判断是否为素数:
```st
function is_prime(n) {
if (n <= 1) {
return false;
} else if (n <= 3) {
return true;
} else if (n % 2 == 0 || n % 3 == 0) {
return false;
} else {
for (let i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
}
```
8. 计算最大公约数:
```st
function gcd(a, b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
9. 判断是否为回文字符串:
```st
function is_palindrome(s) {
let left = 0;
- let right = s.length
- 1;
while (left < right) {
if (s[left] != s[right]) {
return false;
}
left++;
right--;
}
return true;
}
```
10. 计算最大公约数:
```st
function gcd(a, b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
11. 判断是否为完全平方数:
```st
function is_perfect_square(n) {
let root = Math.sqrt(n);
return root * root == n;
}
```
12. 判断是否为素数:
```st
function is_prime(n) {
if (n <= 1) {
return false;
} else if (n <= 3) {
return true;
} else if (n % 2 == 0 || n % 3 == 0) {
return false;
} else {
for (let i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
}
```
这些编程题案例展示了如何使用ST语言来编写不同的算法和解决问题。通过学习和实践这些案例,你可以提高你的ST语言编程技巧。