#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int array[50]={'\0'};
int count=0;
for(int i=0;i<n;i++)
{
if(!n%i)
{
array[count]=i;
count++;
}
}
int flag=0;
for(int i=0;i<count;i++)
{ flag=1;
for(int j=2;j<array[i];j++)
{
if(!array[i]%j)//是素数
{
flag=0;
}
}
if(flag)
printf("%d",array[i]);
}
}
求素数因子,为啥没有输出??
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注#include<stdio.h> int main() { int n; scanf("%d",&n); int array[50]={0}; int count=0; for(int i=1;i<=n;i++)//从1开始 { if(n % i == 0)//不能用!n%i,因为先计算 !n 也就是等于0,然后就是0 % i,结果是0 { array[count]=i; //printf("%d\n",i); count++; } } int flag=0; for(int i=0;i<count;i++) { flag=1; for(int j=2;j<array[i];j++) { if(array[i] % j == 0 && array[i] != 2)//是素数 { flag=0; break; } } if(flag && array[i] != 1) printf("%d ",array[i]); } }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报