急求c语言编程:从键盘任意输入一个整数m,若m不是素数,则计算并输出其所有的因子(不包括1),例如对于
例如对于16,输出2,4,8;否则输出"Nodivisor!Itisaprimenumber\n"。...
例如对于16,输出2,4,8;否则输出"No divisor! It is a prime number\n"。
展开
3个回答
展开全部
我这个效率最高,最直观
#include <math.h>
#include <stdio.h>
void main()
{
_开始:
printf("请输入待分析的正整数\n");
int n待分析;
scanf("%d", &n待分析);
if(n待分析 < 0)
goto _开始;
int n因子上限 = (int) sqrt((double)n待分析);
int n因子个数 = 0;
for(int i = 2; i <= n因子上限; ++i)
{
int n另一个因子 = n待分析 / i;
if(n待分析 == n另一个因子 * i)
{
printf(" (%d, %d) ", i, n另一个因子);
++n因子个数;
}
}
printf("\n");
if(n因子个数 == 0)
printf("No divisor! It is a prime number\n");
goto _开始;
}
程序执行
请输入轮悉圆待分析的正整数
16
(2, 8) (4, 4)
请输入腊塌待分析的正整数
256
(2, 128) (4, 64) (8, 32) (16, 16)
请输入待分析的正整数
1024
(2, 512) (4, 256) (8, 128) (16, 64) (32, 32)
请输入待分析的陆尘正整数
255
(3, 85) (5, 51) (15, 17)
请输入待分析的正整数
小力庭 2013-4-20 欢迎到我微博上交流
weibo.com/litingsoft
展开全部
#include<stdio.h>扮吵雹
void main()
{
int a,b=0;
scanf("%d",&a);
for(int i=2;i<a;i++)
{
if(a%i==0)
{
printf("碰宽%d\厅帆t",i);
b++;
}
}
if(b==0)
printf("No divisor! It is a prime number\n");
}
void main()
{
int a,b=0;
scanf("%d",&a);
for(int i=2;i<a;i++)
{
if(a%i==0)
{
printf("碰宽%d\厅帆t",i);
b++;
}
}
if(b==0)
printf("No divisor! It is a prime number\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main(碰轮)
{
int m,n,芦凯i;
scanf(“%d”,&m)陪吵唤;
for(i=2,n=0;i<m;i++)
{
if(m%i==0) {printf(“%5d”,i);n++;}
}
if(n==0) printf("No divisor! It is a prime number\n");
}
{
int m,n,芦凯i;
scanf(“%d”,&m)陪吵唤;
for(i=2,n=0;i<m;i++)
{
if(m%i==0) {printf(“%5d”,i);n++;}
}
if(n==0) printf("No divisor! It is a prime number\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询