| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3489 人关注过本帖
标题:求一个正整数的所有因数(能整除该数且小于其本身的数),数与数之间用空格 ...
只看楼主 加入收藏
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
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:0 
编程时算法的练习,改进是很重要的,考虑这个题目,当输入为n时,在进行循环检测时有必要循环到n吗。
2015-04-12 22:32
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册: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
快速回复:求一个正整数的所有因数(能整除该数且小于其本身的数),数与数之间用 ...
数据加载中...
 
   



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

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