设计一个函数def randomnum(n):,返回一个长度为n的随机整数列表,要求: 随机整数的范围:1-100 随机整数不能出现7(例如17,71),不能被7整除(例如14,28)
时间: 2024-03-24 17:40:27 浏览: 51
以下是Python3的代码实现:
```python
import random
def randomnum(n):
"""返回一个长度为n的随机整数列表"""
nums = [] # 存储随机整数的列表
while len(nums) < n:
num = random.randint(1, 100) # 生成1-100之间的随机整数
if '7' not in str(num) and num % 7 != 0: # 判断是否符合要求
nums.append(num)
return nums
```
使用方法:
调用 `randomnum(n)` 函数,其中 `n` 为要生成的随机整数列表的长度。例如,要生成长度为 10 的随机整数列表,可以调用 `randomnum(10)` 函数。
相关问题
js 在0-n生成m个随机整数 m<n,具体的代码
在JavaScript中,可以使用`Math.random()`和`Math.floor()`函数配合循环来生成m个0到n之间的随机整数。这里有一个简单的示例代码:
```javascript
function generateRandomIntegers(m, n) {
if (m > n || m < 0) {
throw new Error('Invalid input: m must be between 0 and n inclusively');
}
const result = [];
for (let i = 0; i < m; i++) {
let randomNum = Math.floor(Math.random() * (n - m + 1)) + m; // Ensure numbers are between m and n
result.push(randomNum);
}
return result;
}
// 使用示例:
const m = 5; // 生成5个数
const n = 10; // 可能的最大值
const randomIntegers = generateRandomIntegers(m, n);
console.log(`Generated ${m} random integers between 0 and ${n}:`, randomIntegers);
用c语言算法实现随机生成10个整数,建立一个顺序表
在C语言中,我们可以使用`rand()`函数结合`srand()`函数来生成随机数,并通过循环创建一个顺序表。以下是一个简单的例子:
首先,我们需要包含必要的头文件:
```c
#include <stdio.h>
#include <stdlib.h> // 包含rand和srand函数
#include <time.h> // 包含时间相关的函数
```
然后,定义一个顺序表的结构体和一些辅助函数:
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
// 创建顺序表头部
Node* createList() {
Node* head = NULL;
return head;
}
// 在链表尾部添加新节点
void append(int value, Node** head) {
if (*head == NULL) {
*head = (Node*)malloc(sizeof(Node));
(*head)->data = value;
(*head)->next = NULL;
} else {
Node* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = (Node*)malloc(sizeof(Node));
current->next->data = value;
current->next->next = NULL;
}
}
// 随机生成并添加10个整数到顺序表
void generateRandomList(Node** head) {
srand((unsigned)time(NULL)); // 设置随机数种子,保证每次程序运行生成不同的随机数
for (int i = 0; i < 10; i++) {
int randomNum = rand() % 100 + 1; // 生成1到100之间的随机整数
append(randomNum, head);
}
}
```
最后,在主函数中调用上述函数创建并打印顺序表:
```c
int main() {
Node* list = createList();
generateRandomList(&list);
// 打印顺序表
Node* temp = list;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
printf("\n");
return 0;
}
```
这个程序会生成并存储10个随机整数,然后打印出来。
阅读全文