急求c语言编程:从键盘任意输入一个整数m,若m不是素数,则计算并输出其所有的因子(不包括1),例如对于

例如对于16,输出2,4,8;否则输出"Nodivisor!Itisaprimenumber\n"。... 例如对于16,输出2,4,8;否则输出"No divisor! It is a prime number\n"。 展开
 我来答
潮运虹0K
2013-04-22 · TA获得超过514个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:162万
展开全部

我这个效率最高,最直观

#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

百度网友5859bc0
推荐于2018-03-08 · 超过10用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:15.4万
展开全部
#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");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
反宝的岁月
2013-04-21
知道答主
回答量:1
采纳率:0%
帮助的人:1505
展开全部
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");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式