| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2929 人关注过本帖
标题:C语言等差数列 初值为4,输出和为100 的所有等差数列
只看楼主 加入收藏
杜撰
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:53
专家分:69
注 册:2011-5-14
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:16 
C语言等差数列 初值为4,输出和为100 的所有等差数列
C语言等差数列 初值为4,输出和为100 的所有等差数列。昨天在百度上看到,刚开始感觉几个for循环能搞定,可是现在全傻了,可能性太多了,有高人指点吗?
搜索更多相关主题的帖子: 可能性 C语言 百度 
2011-08-25 11:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
你打算学会写程序就不用学数学了啊?

授人以渔,不授人以鱼。
2011-08-25 11:19
杜撰
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:53
专家分:69
注 册:2011-5-14
收藏
得分:0 
回复 2楼 TonyDeng
哦哦,是好久没学数学了,最后与数学相关的东西就是高数,现在感觉有点遥远了。好多东西都不记得了。

我的青春我做主,奋斗!
2011-08-25 11:21
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:2 
所有的???  整数和浮点数都要算在内的吗?
2011-08-25 11:41
杜撰
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:53
专家分:69
注 册:2011-5-14
收藏
得分:0 
回复 4楼 loveshuang
如果先之考虑整数。那也挺纠结的

我的青春我做主,奋斗!
2011-08-25 12:00
obstratiker
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:198
专家分:758
注 册:2011-5-5
收藏
得分:2 
#include<stdio.h>

int main(void)
{
    int i,d,h,sum,num;
    int sum1,num1;
    for(i=1;i<=96;i++)
    {
        int c;
        c=i;
        sum=0;
        num=4;
        while(sum<100)
        {
            sum+=num;
            num+=c;
        }
        if(sum>100)
                continue;
        else if(sum==100)
        {
            sum1=0;
            num1=4;
            printf("100 = 4");
            while(sum1<100)
            {
                sum1+=num1;
                num1+=c;
                if(num1<100)
                    printf(" + %d",num1);
            }
            printf("\n");
        }
        
    }
}

2011-08-25 12:34
杜撰
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:53
专家分:69
注 册:2011-5-14
收藏
得分:0 
回复 6楼 obstratiker
厉害。

我的青春我做主,奋斗!
2011-08-25 12:37
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:2 
6楼编的好巧哦,我费了半天劲感觉代码还是笨笨的,不过总算是实现功能了
程序代码:
# include <stdio.h>

int main (void)
{
    int i,j;
    int a[100],b[100];
    int c;
    int s;
   
    for (i=1; i<100; ++i)
    {
        c = 4;
        s = 0;
        for (j=0; j<100; ++j)
        {
            a[j]=c;
            s += c;
            b[j]=s;
            if (100 <= s)
                break;
            c += i;
        }
       
        if (100 == s)
        {
            for (j=0; j<100; ++j)
            {
                printf("%d ",a[j]);
                if (100 == b[j])
                {
                    printf("= %d\n",s);
                    break;               
                }
                printf("+ ");
            }
        }       
    }
    return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
4 + 12 + 20 + 28 + 36 = 100
4 + 18 + 32 + 46 = 100
4 + 96 = 100
Press any key to continue
————————————
*/




学C的秘诀=每天都来泡论坛
2011-08-25 13:05
naruto01
Rank: 4
等 级:业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
收藏
得分:2 
程序代码:
/*
*    [(n - 1) * d + 8] * n = 200
*/
int n = 25, i = 0;
double d[24] = {0.0};
void func()
{
    for(; n != 1; n--, i++)
    {
        d[i] = ( ((double)200 / n) - 8 ) / (n - 1);   
    }
}
小白路过,以上言论,概不负责
收到的鲜花
  • voidx2011-08-25 16:49 送鲜花  1朵   附言:这个好
2011-08-25 13:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
6楼的算法是对的

授人以渔,不授人以鱼。
2011-08-25 13:28
快速回复:C语言等差数列 初值为4,输出和为100 的所有等差数列
数据加载中...
 
   



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

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