| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 21849 人关注过本帖
标题:☐ + ☐ + ☐ = 30, ☐ 里填{1, 3, 5, 7, 9, 11, 13, ...
取消只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:3 
☐ + ☐ + ☐ = 30, ☐ 里填{1, 3, 5, 7, 9, 11, 13, 15} 可以重复填
图片附件: 游客没有浏览图片的权限,请 登录注册


当然答案是不存在的 不过我想知道用C语言实现 有没有简洁的方法 因为用C++写是很简洁的

程序代码:
// g++ -Wall -fomit-frame-pointer -funroll-loops -Ofast -msse4.2 -mavx -std=c++11 a.cpp -lm -o a

#include <iostream>
#include <vector>

using std::cout;
using std::cin;
using std::endl;
using std::vector;

int main(void)
{
    vector<int> nums = {1, 3, 5, 7, 9, 11, 13, 15};
    for (auto i : nums)
        for (auto j : nums)
            for (auto k : nums)
                if (i + j + k == 30)
                    cout << i << " + " << j << " + " << k << " = 30." << endl;
    return 0;
}

搜索更多相关主题的帖子: C语言 
2015-05-27 16:07
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
程序代码:
(setq nums '(1 3 5 7 9 11 13 15))

(loop for i in nums do
      (loop for j in nums do
        (loop for k in nums do
          (if (= 30 (+ i j k))
              (message "%d + %d + %d = 30" i j k)))))


Emacs Lisp
2015-05-27 16:17
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用rjsp在2015-5-27 16:15:53的发言:

肯定不存在呀,三个奇数相加的结果应该还是奇数

我想知道C语言实现的话是什么样的 怎么简洁明快
2015-05-27 16:18
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用rjsp在2015-5-27 16:22:18的发言:


和 C++ 代码没什么差别
#include  
 
int main( void )
{
    const int c[8] = { 1, 3, 5, 7, 9, 11, 13, 15 };
    for( size_t i=0; i!=6; ++i )
        for( size_t j=i+1; j!=7; ++j )
            for( size_t k=j+1; k!=8; ++k )
                if( c+c[j]+c[k] == 30 )
                    printf( "%d + %d + %d = 30\n", c, c[j], c[k] );
 
    return 0;
}

学习了
2015-05-27 16:29
快速回复:&#9744; + &#9744; + &#9744; = 30, &#9744; 里填{1, 3, 5, 7, 9, 11, ...
数据加载中...
 
   



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

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