1、提示用户输入数字,计算并显示所有能整除它的约数,如果没有约数则提示该数字为素数,并把整体做成循环
做成循环提示:
int x;
注:while (scanf ("%d", &x) == 1)//用于获取整数输入及在输入非整数时推出循环的条件模拟
没有其他问题的话 请点击一下采纳
# 显示所有能整除它的约数
def show_divisor(n):
result = []
for i in range(2, n):
if n % i == 0:
result.append(i)
return result
while True:
try:
num = int(input("请输入数字:"))
result = show_divisor(num)
if len(result) == 0:
print("该数字不能被任何数整除,该数字为素数")
else:
print("该数字可以被以下数整除:", ",".join(str(i) for i in result))
except ValueError:
print("输入错误,请输入数字!")
except KeyboardInterrupt:
print("退出程序!")
break
是python还是C?你的问题分类显示是python,题目给的提示又是C/C++。
这是C的写法:
#include<stdio.h>
int main()
{
printf("请输入一个数字:");
int x;
while (scanf("%d", &x) == 1)
{
int isPrime = 1;
int idx = 1;
for (int i = 2; i <= x - 1; ++i)
{
if (x % i == 0)
{
printf("约数%d:%d\n", idx, i);
++idx;
isPrime = 0;
}
}
if (isPrime)
{
printf("该数字为素数\n");
}
printf("请输入一个数字:");
}
}