| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1445 人关注过本帖
标题:【求助】高手求解 数的分解问题
只看楼主 加入收藏
K_Tpanda
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-11-3
收藏
得分:0 
回复 10楼 czz5242199
高手能给出每种算法所含的 全部 约数吗?
2011-11-04 23:23
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:20 
以下是引用K_Tpanda在2011-11-4 23:23:18的发言:

高手能给出每种算法所含的 全部 约数吗?


动态规划过程中记录数据,实现起来复杂一点

搜索实现起来很简单,时间复杂度会高一点
2011-11-04 23:32
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
搜索实现的,速度可能会比动规慢,可以输出方案
程序代码:
#include <stdio.h>
#include <stdlib.h>

int n,m,ans,a[100];

void print()
{
     int i;
     printf("%d=%d",n,a[1]);
     for (i=2; i<=m; i++) printf("*%d",a[i]);
     printf("\n");   ans++;
}

void dfs(int dep,int pre,int goal)
{
     int i;
     if (dep==m&&goal>=pre) 
     {
                            a[dep]=goal; print(); return;
     }
     for (i=pre; i<=goal; i++)
       if (goal%i==0)
       {
                     a[dep]=i; dfs(dep+1,i,goal/i);
       }
}

int main()
{
    ans=0;
    scanf("%d%d",&n,&m);
    int i;
    for (i=1; i<=n; i++) 
    if (n%i==0)
    {
        a[1]=i; dfs(2,i,n/i);
    }
    printf("%d\n",ans);
    system("pause");
} 
2011-11-04 23:44
K_Tpanda
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-11-3
收藏
得分:0 
回复 12楼 czz5242199
大侠 有这方面的资料没  我想好好学习一下
2011-11-04 23:47
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 14楼 K_Tpanda
这个属于“非基础算法”(相对学校学的东西,其实学了的话也不难),用得比较多除了枚举,贪心什么的,还有搜索,动态规划,递推与递归,你可以系统得学习一下各类算法

[ 本帖最后由 czz5242199 于 2011-11-4 23:52 编辑 ]
2011-11-04 23:51
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
如果你们学校有acm可以了解一下
2011-11-04 23:53
K_Tpanda
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-11-3
收藏
得分:0 
回复 13楼 czz5242199
大侠 敬佩之心油然而生  
2011-11-04 23:53
K_Tpanda
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-11-3
收藏
得分:0 
大侠 留个qq  
2011-11-04 23:54
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 18楼 K_Tpanda
690188103,我们12点要断网了。
2011-11-04 23:55
幻影逍遥
Rank: 2
等 级:论坛游民
帖 子:23
专家分:24
注 册:2011-10-31
收藏
得分:0 
回复 10楼 czz5242199
正解。太牛了。
2011-11-05 15:41
快速回复:【求助】高手求解 数的分解问题
数据加载中...
 
   



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

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