判斷質數
問題:輸入一整數,判斷它是否為質數,若不為質數,則列印出其因數,請利用函數處理之。
我目前知道質數的判斷是因數除了自己和1以外無別的數,但我不知如何使用程式表示出來和解決此問題
感謝大家抽空回答 什么语言? 本帖最后由 andy大宝 于 2022-4-7 22:21 编辑
C代码:
#include <stdio.h>
#include <stdlib.h>
int count;
void fun(int a)
{
int i;
count = 0;
for (i=2;i<=a-1;i++)
{
if (a%i==0)
{
count++;
printf("%d\n",i);
}
}
if (count==0)
{
printf("质数");
}
}
int main()
{
int number;
scanf("%d",&number);
fun(number);
return 0;
}
Python代码:
def fun(a):
count = 0
for i in range(2,a):
if a%i == 0:
print(i)
count += 1
if count == 0:
print("质数")
number = int(input(""))
fun(number)
这里没有判断1是不是质数,其实只要加一条条件就可以了{:10_256:} #include<stdio.h>
int fun(int *b);
void main()
{
int a,*p1=&a;
printf("请输入一个数:");
scanf("%d",&a);
fun(p1);
if(fun(p1)==1)
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
}
int fun(int *b)
{
int i,n=0;
for(i=2;i<*b;i++)//使用for循环,除了1和他本身。不能被其他任何数整除
{
if(*b%i==0)//当他满足这个条件时就不是质数
break;//因此跳出整个循环
}
if(i>=*b)//如果在for循环里都不能整除时,说明就是质数
n=1;
return n;
}
这是用指针写的,但中心思想一样 andy大宝 发表于 2022-4-7 22:09
C代码:
感謝您! ljm002 发表于 2022-4-7 22:24
#include
int fun(int *b);
void main()
感謝您! caspar1 发表于 2022-4-8 11:53
感謝您!
没事{:10_323:}
页:
[1]