简单点
时间: 2023-10-02 19:11:06 浏览: 38
好的,以下是简洁的 Python 代码实现:
```python
n = int(input("请输入一个正整数:"))
print("{}的所有因数为:".format(n), end="")
for i in range(1, n+1):
if n % i == 0:
print(i, end=" ")
```
你只需要输入一个正整数,程序就会输出它的所有因数。比如,如果你输入 12,程序会输出 1 2 3 4 6 12。希望能帮到你!
相关问题
简单点的
好的,以下是简化版的代码:
```c
#include <stdio.h>
int main()
{
int n;
printf("请输入方阵的阶数n:");
scanf("%d", &n);
int arr[n][n]; // 定义二维数组
printf("请输入%d个数用于填充方阵:\n", n * n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%d", &arr[i][j]); // 输入方阵元素
}
}
printf("转置前的方阵为:\n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("%d ", arr[i][j]); // 输出原方阵
}
printf("\n");
}
int temp;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
// 交换对称元素
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
printf("转置后的方阵为:\n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("%d ", arr[i][j]); // 输出转置后的方阵
}
printf("\n");
}
return 0;
}
```
这个程序使用了一个简单的二维数组来创建NxN的方阵,而不是使用动态分配的内存,因此更加简单易懂。
用python 简单点
以下是相同功能的 Python 代码:
```python
import re
# 定义用户名和密码的正则表达式
username_pattern = r'^\w{1,8}$'
password_pattern = r'^(?=.*[A-Z])(?=.*[a-z])\w{6,8}$'
# 获取用户名
while True:
username = input('请输入用户名(只能由字母、数字、下划线组成,且长度不超过8位):')
if re.match(username_pattern, username):
break
print('用户名只能由字母、数字、下划线组成,且长度不超过8位')
# 获取密码
while True:
password = input('请输入密码(至少包含1个大写字母和1个小写字母,且只能是数字、字母、下划线组成,长度不少于6位,不超过8位):')
if re.match(password_pattern, password):
break
print('密码至少包含1个大写字母和1个小写字母,且只能是数字、字母、下划线组成,长度不少于6位,不超过8位')
# 注册成功
print('注册成功!')
print('用户名:', username)
print('密码:', password)
```
Python 中可以使用正则表达式来匹配用户名和密码是否符合要求。程序通过 input() 从标准输入获取用户名和密码,并使用 re.match() 函数匹配正则表达式。如果不符合要求,则输出错误提示并重新获取输入。如果符合要求,则输出注册成功信息,并展示用户名和密码。