| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1689 人关注过本帖
标题:[讨论]连续数问题
只看楼主 加入收藏
hejing1109
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-9-27
收藏
 问题点数:0 回复次数:28 
[讨论]连续数问题

输入一个数 写出它是连续数相加的所有情况,如下面一样


Please put in a dight(0<x)
123
--------------------------------------------------------------
61+62=123
40+41+42=123
18+19+20+21+22+23=123
---------------------------------------------------------------
exist 3 cases.

搜索更多相关主题的帖子: cases Please dight put 
2006-11-20 01:55
hejing1109
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-9-27
收藏
得分:0 
怎么没人来啊

2006-11-20 15:24
smartwind
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2006-11-13
收藏
得分:0 
今天还有事,明天早上再来

2006-11-20 15:28
guzhou
Rank: 1
等 级:新手上路
威 望:1
帖 子:247
专家分:0
注 册:2006-11-4
收藏
得分:0 
别急,我来看看!

2006-11-20 20:07
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
这个我以前编过
#include<stdio.h>
int main()
{
int i,j,k=0,t1=1,i1=0,n;
do{
printf("请输入数字\n");
scanf("%d",&n);
for(j=1;j<n;j++)
{for(i=j;i<n;i++)
{
t1++;
k+=i;
if(k==n)
{ i1++;
i=j;
for(i;i<t1;i++)
{ if(i==j)
printf("%d=%d",k,i);
else
printf("+%d",i);
}
printf("\n");
}
}
k=0;
t1=j+1;}
if(i1==0)
printf("none\n");}while(i1==0);
return 0;
}

谁有强殖装甲第二部,可以Q我460054868
2006-11-20 20:30
天下云
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2006-11-6
收藏
得分:0 
这个还没做过

有时间研究下

2006-11-20 20:32
guzhou
Rank: 1
等 级:新手上路
威 望:1
帖 子:247
专家分:0
注 册:2006-11-4
收藏
得分:0 

#include<stdio.h>

int main()
{
int n,i,j,a;
printf("Please input a dight(>0)");
scanf("%d",&n);
for (i=2;i<=n/2;i++)
if ((n*2)%i==0)
{
if(((2*n/i-i+1)%2==0)&&((2*n/i-i+1>0)))
{
a=(2*n/i-i+1)/2;
printf("%d",a);
for (j=1;j<i;j++)
printf("+%d",a+j);
printf("\n");
}
}
return 0;
}
看看有无问题


2006-11-20 20:38
半滴风雨
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-6
收藏
得分:0 
我的
感觉是数学问题
#include<stdio.h>
void main()
{
void conl(long a,int n,int *p);
int esti(long a);
long a;
int n = 0,i,j=0;
printf("input the number\n");
scanf("%ld",&a);
n = esti(a);
for(i=2;i<=n;i++)
conl(a,i,&j);
printf("There are %d cases.\n",j);
}
int esti(long a)
{
int i;
for(i=1;;i++)
if((1+i)*i/2>=a)
break;
return i;
}
void conl(long a,int n,int *p)
{
long b=0;
int i;
b = (a - n*(n-1)/2)/n;
if(b*n+n*(n-1)/2==a)
{
(*p)++;
for(i=0;i<=n-1;i++)
printf("%ld+",b+i);
printf("\b=%ld\n",a);
}
}

2006-11-20 21:06
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

#include <stdio.h>

int main(void)
{
long left, right;
long sum;
long GIVEN;
scanf("%ld",&GIVEN);

for (sum = 0, left = right = 1; left < GIVEN/2+1; right++)
{
sum += right;
while (sum > GIVEN)
{
sum -= left;
left++;
}
if (sum == GIVEN)
printf("%ld - %ld\n", left, right);
}
return 0;
}


2006-11-20 21:21
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 
五楼的你运行了吗?!自己试试吧

我就是程序,程序就是我,我还能退出程序吗?!
2006-11-20 21:45
快速回复:[讨论]连续数问题
数据加载中...
 
   



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

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