A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓海涛 中级黑马   /  2012-4-8 11:16  /  3135 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么样实现这样一个程序?就如输入一个整数n(n>=2),找出1000以内这样的n:
  如:15=1+2+3+4+5
           =4+5+6
           =7+8

怎么样编程实现呢?

4 个回复

倒序浏览
如果是你想从一开始累加。。那么可以定义一个循环让他自加。。知道加到大于或者等于停止。。。第一个循环如果 通过  返回加的最后那个数 。。也就是循环结束时的i的值。。将i的值减一。。然后又开始自加。。知道等于那个数。。如果加到超过了循环结束。。打印false提示。。。如果可以就可以接着第三个循环。。每次循环传入一个数。。就是从这个数开始相加。。而且最好你多举几个例子。。一个例子很难知道你真正要做的内容。。。
回复 使用道具 举报
本帖最后由 李南江 于 2012-4-8 12:37 编辑

累加思想可以实现
例如:
public static int add()
{
    int temp=0
for(int x=1;x<=10; x++)
{
temp+=x;
}
return temp;
}
其它的如楼上所说
回复 使用道具 举报
我提供一个方法吧,不知道对不对,思想是这样的,给定一个数之后,就在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);
                }

             }
        }
}
回复 使用道具 举报
惊天地且泣鬼神的好帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马