黑马程序员技术交流社区
标题:
一个整数用连续的数字之和来表示
[打印本页]
作者:
邓海涛
时间:
2012-4-8 11:16
标题:
一个整数用连续的数字之和来表示
怎么样实现这样一个程序?就如输入一个整数n(n>=2),找出1000以内这样的n:
如:15=1+2+3+4+5
=4+5+6
=7+8
怎么样编程实现呢?
作者:
郑苑东
时间:
2012-4-8 12:31
如果是你想从一开始累加。。那么可以定义一个循环让他自加。。知道加到大于或者等于停止。。。第一个循环如果 通过 返回加的最后那个数 。。也就是循环结束时的i的值。。将i的值减一。。然后又开始自加。。知道等于那个数。。如果加到超过了循环结束。。打印false提示。。。如果可以就可以接着第三个循环。。每次循环传入一个数。。就是从这个数开始相加。。而且最好你多举几个例子。。一个例子很难知道你真正要做的内容。。。
作者:
攻城狮
时间:
2012-4-8 12:32
本帖最后由 李南江 于 2012-4-8 12:37 编辑
累加思想可以实现
例如:
public static int add()
{
int temp=0
for(int x=1;x<=10; x++)
{
temp+=x;
}
return temp;
}
其它的如楼上所说
作者:
欧阳才志
时间:
2012-4-8 13:03
我提供一个方法吧,不知道对不对,思想是这样的,给定一个数之后,就在1000以内找这个数的被加数,然后循环,当值符合要求的时候就将这个值放到数组里存起来,留做处理。然后再找这两个数的被加数,并打印,其实就是三层循环。这个方法我么有验证过,不知道通不.
public static javasort(int num)
int [] rx=new int [];
int [] ry=new int[];
for(int x=0;x<1000;x++)
{
for(int y=0;y<1000;y++)
{
if(x+y==num)
{
rx[x]=x;
ry[y]=y;
for(int x1=0;x1<x;x++)
{
for(int y1=0;y1<x;y1++)
if(x1+y1==x)
System.out.println(+x1+" "+y1);
}
for(int x2=0;x2<x;x++)
{
for(int y2=0;y2<x;y1++)
if(x2+y2==x)
System.out.println(+x2+" "+y2);
}
}
}
}
作者:
pray
时间:
2014-4-26 05:25
惊天地且泣鬼神的好帖
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2