| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3392 人关注过本帖
标题:711便利店问题
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 9楼 理科软工
这个算法复杂度挺高的,最近没那么多精力我也不敢保可以帮到你~

还是先要算出所有因子以及和它互补因子~

然后再对每个因子再多拆分一次~
或者你需要一个快速求因子的算法~问题是普通算法或许会超时~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-11-27 20:28
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
这个思路可以一试,但不担保可行~

1--分解质因式
可以参考

https://bbs.bccn.net/viewthread.php?tid=481800&page=1#pid2647856

2--对分解的质因式进行组合(注意考虑质因子因为重复出现而导致组合数相同),得出所有因子以及通过因子计算出与它互补的因子(这个构思是dfs递归框架,算法复杂度较高)~

3--对每个因子以及它的互补因子再进行2操作,并且验证计算结果(这里或者可以剪枝减少不必要的计算,但会增加算法复杂度感觉难控制)~

最近没啥时间精力去弄那些实在不好意思哈~只能给些参考意见希望对你有所帮助~


PS:话说简单直接做法711的三重循环(第四个数可以用数学公式表示)枚举就可以解决了,理论上不会超时~

PPS:优化一下似乎两层循环就够了~


[此贴子已经被作者于2017-11-27 21:55编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-11-27 20:43
wangcwei
Rank: 2
来 自:河北
等 级:论坛游民
帖 子:10
专家分:23
注 册:2017-11-27
收藏
得分:7 
比较暴力的破解方法,没有试验能不能运行不过主体思想应该没错
程序代码:
#include "stdafx.h"
#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
    int sum = 711;
    for (int i = 0; i < sum; i++) {
        for (int j = 0; j < sum - i; j++) {
            for (int k = 0; j < sum - i - j; k++) {
                int l = sum - i - j - k;
                int product = i * j * k * l;
                if (product == sum * 100 * 100 * 100) {
                    printf_s("%.2f\t%.2f\t%.2f\t%.2f\n", i / 100.0, j / 100.0, k / 100.0, l / 100.0);
                }
            }
        }
    }
    getchar();
    return 0;
}

2017-11-28 20:15
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 13楼 wangcwei


其实一开始我是打算从乘法那里分解质因子入手的~不过后来发现这种方法简单很多~

能够实现就好~其实优化一下,四个未知数两条式子,两个for循环就可以了~当然还是能够实现就好~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-11-28 20:39
wangcwei
Rank: 2
来 自:河北
等 级:论坛游民
帖 子:10
专家分:23
注 册:2017-11-27
收藏
得分:0 
回复 14楼 九转星河
我写东西基本就是简单粗暴的
2017-11-28 21:22
快速回复:711便利店问题
数据加载中...
 
   



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

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