标题:求一个正整数的所有因数(能整除该数且小于其本身的数),数与数之间用空格 ...
只看楼主
LGing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:107
注 册:2015-3-15
得分:0 
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int a,i;
    printf("input a number:\n");
    scanf("%d",&a);
    for (i=1;i<a;i++)
        if(a%i==0)
        printf("%d\t",i);
    system("pause");
    return 0;
}
2015-04-12 10:59
LGing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:107
注 册:2015-3-15
得分:0 
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int a,i;
    printf("input a number:\n");
    scanf("%d",&a);
    for (i=1;i<a;i++)
        if(a%i==0)
        printf("%d\t",i);
    system("pause");
    return 0;
}
2015-04-12 11:00
阿牛的逆袭
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-10-18
得分:0 
回复 9楼 wp231957
#include"stdio.h"
void  yinshu(int n,int *result);
void  output(int *result);
main()
{
    int s,r[100];
    scanf("%d",&s);
    yinshu(s,r);
    output(r);
}
void  yinshu(int n,int *result)
{
    int i;
    for(i=1;i<n;i++,result++)
    if(n%i==0)
    *result=i;
}
void  output(int *result);
{题目要求 输出函数只有一个形参,该怎么写
2015-04-12 13:00
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:335
专家分:1125
注 册:2014-4-13
得分:0 
编程时算法的练习,改进是很重要的,考虑这个题目,当输入为n时,在进行循环检测时有必要循环到n吗。
2015-04-12 22:32
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 13楼 阿牛的逆袭
代码会更简单一些

程序代码:
#include <stdio.h>

void  yinshu(int n,int *result);
void  output(int *result);

int main()
{
    int s;
    int r[1000]={0};    //这里请注意因子的个数  如果因子的个数太多  需要增大这个数组的范围
    scanf("%d",&s);
    yinshu(s,r);
    output(r);
    return 0;
}

void yinshu(int n,int *result)
{
    int i;
    for(i=1;i<n;i++)
    {
        if(n%i==0)
        {
            *result=i;
            result++;
        }
    }
}

void  output(int *result)
{
    for(;*result!=0;result++)
    {
        printf("%d ",*result);
    }
}

DO IT YOURSELF !
2015-04-13 08:22
阿牛的逆袭
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-10-18
得分:0 
回复 15楼 wp231957
谢谢 我懂了
2015-04-13 09:48
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
14楼提到了点上。

另外万哥15楼中r数组开的有点大了。粗略估算一下,32位整型范围内的数,它的因数不会超过12个。

重剑无锋,大巧不工
2015-04-13 16:57
SunshineGirl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:131
注 册:2012-3-20
得分:0 
这是 筛法问题的 变形
2015-04-17 00:42
SunshineGirl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:131
注 册:2012-3-20
得分:0 
说错了
2015-04-17 00:45
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
以下是引用beyondyf在2015-4-13 16:57:37的发言:

14楼提到了点上。

另外万哥15楼中r数组开的有点大了。粗略估算一下,32位整型范围内的数,它的因数不会超过12个。


不是吧  这个要看因数怎么算了

比如|:16的因数 是1 2 就没了 还是1 2 4 8

DO IT YOURSELF !
2015-04-17 06:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-443867-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028464 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved