| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 641 人关注过本帖
标题:想了半天都不行
只看楼主 加入收藏
fj97897217
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-6-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
想了半天都不行
有一正整数的等差数列,其前四项之和是26,前四项之积是880。
编程,输出此数列的前四项。
搜索更多相关主题的帖子: 正整数 等差数列 
2011-04-10 14:49
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:5 
由于数列为整数,可以知道最小的只一定不会大于26 / 4 = 6(取整),他们相差也不可能大于 26 / 3 = 8
可以先假定数列为递增的,找到一组后,把他们从小到大再输出一下,也就是递减的了

for (int i = 1; i <= 6; i++) {   // 这个如果没有上面的分析,6改成26
  for (int j = 0; j <= 8; j++) { // 这个如果没有上面的分析,8改成26
      if ((i + (i + j) + (i + 2*j) + (i + 3*j) == 26) && (i * (i + j) * (i + 2*j) * (i + 3*j) == 880)) { // 这个可以整理一下
          // 输出 i ,(i + j) , (i + 2*j) , (i + 3*j)
          //  (i + 3*j),(i + 2*j),(i + j), i 也满足条件
  }
}

[ 本帖最后由 yuccn 于 2011-4-10 15:14 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-04-10 15:04
逍遥乖乖
Rank: 2
等 级:论坛游民
帖 子:44
专家分:56
注 册:2011-4-8
收藏
得分:3 
新人,最笨办法- -
程序代码:
#include"stdio.h"
main()
{
    int a,b,c,d;
    for(a=1;a<=26;a++)
        for(b=1;b<=26;b++)
            for(c=1;c<=26;c++)
                for(d=1;d<=26;d++)
                    if(((a+b+c+d)==26)&&((a*b*c*d)==880)&&(a<b&&b<c&&c<d))
                        printf("%d %d %d %d\t",a,b,c,d);
}

2011-04-10 15:06
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:2 
程序代码:
#include <stdio.h>

int main() {
    float a1, d;
    for (a1 = 1; a1 <= 5; a1++) {
        d = (26 - 4 * a1) / 6;
        if (d == (int) d && a1 * (a1 + d) * (a1 + 2 * d) * (a1 + 3 * d) == 880) {
            printf("solution: %.0f %.0f %.0f %.0f", 
                    a1 , a1 + d , a1 + 2 * d , a1 + 3 * d);
        }
    }
    return 0;
}

楼上程序得到的未必是等差数列, 不过这道题碰巧了

[ 本帖最后由 voidx 于 2011-4-10 15:21 编辑 ]
2011-04-10 15:18
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
直接枚举一下公差就好,三楼的代码好有爱

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2011-04-10 15:23
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
程序代码:
#include <stdio.h>
#include <iostream.h>

int main()
{
    for(int i = 1;i<26;i++)
    {
        for(int d = 0;d<10;d++)
            if(26 == (i*4 + 6*d))
            {
                if(880 == i*(i+d)*(i+2*d)*(i+3*d))
                     cout<<"首相:"<<i<<"  "<<"公差:"<<d<<endl;
            }
    }
    return 0;
}
首相是2 公差是3  数列为 2 5 8 11

                                         
===========深入<----------------->浅出============
2011-04-10 15:23
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
是首项
你关心某国家的事太多了。。。结果拼音出来是这个吧。。。。

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2011-04-10 15:28
krisfrank
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-6
收藏
得分:0 
回复 7楼 御坂美琴
你只会说,你能不能拿出实际的代码......
2011-04-10 15:56
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
美琴姐笑话啦  错别字  见谅

还有楼上的 要不你写个出来!!!


                                         
===========深入<----------------->浅出============
2011-04-10 15:59
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
int a,b;
for(a=1;a<100;a++)
for(b=1;b<100;b++)
if(a*4+b+b*2+b*3==26&&a*(a+b)*(a+2*b)*(a+3*b)==880)
printf("%d\t%d\t%d\t%d\n",a,a+b,a+2*b,a+3*b);
2011-04-10 16:15
快速回复:想了半天都不行
数据加载中...
 
   



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

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