QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1423|回复: 21

大家来用JAVA来算这个啊

[复制链接]
发表于 2003-7-17 18:04:18 | 显示全部楼层 |阅读模式
()×()()()=()()()()
即一位数乘以三位数等于四位数
()中填12345678中的任一个
不能重复
小学2年级的题目

用JAVA编个程序



我自己编了一个:
public class count{
  public static void main (String args[]){
int a=1,b=1,c=1;
String out = "result"
for (a=1;a<9;a++)
  for (b=1;b<999;b++)
    for (c=1;c<9999;c++)
if (a+b=c)
  Syetem.out.println (out+"a="+a+"b="+b+"c="+c);
}
}
左看右看都错到哪里去都不知道了.
真郁闷,作为高中生,这种算法都不会....
发表于 2003-7-17 18:06:22 | 显示全部楼层
我没学JAVA,那不是更惨呀!!!
回复

使用道具 举报

发表于 2003-7-17 18:14:42 | 显示全部楼层
回家给你一个 wait a while!
回复

使用道具 举报

发表于 2003-7-17 23:58:28 | 显示全部楼层
左看右看你的程序就是      不对劲!
回复

使用道具 举报

发表于 2003-7-18 00:06:44 | 显示全部楼层
要求说清楚些行吗? 俺都是菜鸟!
回复

使用道具 举报

发表于 2003-7-18 07:27:22 | 显示全部楼层
再研究
回复

使用道具 举报

发表于 2003-7-18 08:25:04 | 显示全部楼层
内循环里有重复数字!
回复

使用道具 举报

发表于 2003-7-18 09:43:10 | 显示全部楼层
昨天又被老板留下来 没时间 今天早上作了一下 (好像我程序里允许的数字是0-9和这里稍有不同阿)结果列表:
*this2*793=1586hahahahahahaha

*this2*853=1706hahahahahahaha

*this2*654=1308hahahahahahaha

*this2*685=1370hahahahahahaha

*this2*835=1670hahahahahahaha

*this2*845=1690hahahahahahaha

*this2*865=1730hahahahahahaha

*this2*935=1870hahahahahahaha

*this2*936=1872hahahahahahaha

*this2*679=1358hahahahahahaha

*this2*769=1538hahahahahahaha

*this3*582=1746hahahahahahaha

*this3*594=1782hahahahahahaha

*this3*625=1875hahahahahahaha

*this3*695=2085hahahahahahaha

*this3*805=2415hahahahahahaha

*this3*905=2715hahahahahahaha

*this3*915=2745hahahahahahaha

*this3*906=2718hahahahahahaha

*this3*916=2748hahahahahahaha

*this3*568=1704hahahahahahaha

*this3*658=1974hahahahahahaha

*this3*918=2754hahahahahahaha

*this3*609=1827hahahahahahaha

*this3*819=2457hahahahahahaha

*this4*392=1568hahahahahahaha

*this4*792=3168hahahahahahaha

*this4*695=2780hahahahahahaha

*this4*715=2860hahahahahahaha

*this4*795=3180hahahahahahaha

*this4*815=3260hahahahahahaha

*this4*376=1504hahahahahahaha

*this4*396=1584hahahahahahaha

*this4*576=2304hahahahahahaha

*this4*596=2384hahahahahahaha

*this4*756=3024hahahahahahaha

*this4*796=3184hahahahahahaha

*this4*876=3504hahahahahahaha

*this4*926=3704hahahahahahaha

*this4*956=3824hahahahahahaha

*this4*517=2068hahahahahahaha

*this4*907=3628hahahahahahaha

*this4*918=3672hahahahahahaha

*this4*519=2076hahahahahahaha

*this4*579=2316hahahahahahaha

*this4*709=2836hahahahahahaha

*this4*789=3156hahahahahahaha

*this4*819=3276hahahahahahaha

*this4*879=3516hahahahahahaha

*this5*372=1860hahahahahahaha

*this5*682=3410hahahahahahaha

*this5*762=3810hahahahahahaha

*this5*782=3910hahahahahahaha

*this5*832=4160hahahahahahaha

*this5*862=4310hahahahahahaha

*this5*872=4360hahahahahahaha

*this5*962=4810hahahahahahaha

*this5*972=4860hahahahahahaha

*this5*413=2065hahahahahahaha

*this5*813=4065hahahahahahaha

*this5*923=4615hahahahahahaha

*this5*963=4815hahahahahahaha

*this5*973=4865hahahahahahaha

*this5*364=1820hahahahahahaha

*this5*384=1920hahahahahahaha

*this5*764=3820hahahahahahaha

*this5*784=3920hahahahahahaha

*this5*436=2180hahahahahahaha

*this5*476=2380hahahahahahaha

*this5*826=4130hahahahahahaha

*this5*417=2085hahahahahahaha

*this5*437=2185hahahahahahaha

*this5*617=3085hahahahahahaha

*this5*697=3485hahahahahahaha

*this5*827=4135hahahahahahaha

*this5*927=4635hahahahahahaha

*this5*937=4685hahahahahahaha

*this5*967=4835hahahahahahaha

*this5*328=1640hahahahahahaha

*this5*438=2190hahahahahahaha

*this5*478=2390hahahahahahaha

*this5*628=3140hahahahahahaha

*this5*728=3640hahahahahahaha

*this5*329=1645hahahahahahaha

*this5*369=1845hahahahahahaha

*this5*629=3145hahahahahahaha

*this5*729=3645hahahahahahaha

*this5*769=3845hahahahahahaha

*this6*512=3072hahahahahahaha

*this6*582=3492hahahahahahaha

*this6*902=5412hahahahahahaha

*this6*912=5472hahahahahahaha

*this6*972=5832hahahahahahaha

*this6*293=1758hahahahahahaha

*this6*453=2718hahahahahahaha

*this6*703=4218hahahahahahaha

*this6*903=5418hahahahahahaha

*this6*913=5478hahahahahahaha

*this6*284=1704hahahahahahaha

*this6*304=1824hahahahahahaha

*this6*514=3084hahahahahahaha

*this6*485=2910hahahahahahaha

*this6*715=4290hahahahahahaha

*this6*307=1842hahahahahahaha

*this6*817=4902hahahahahahaha

*this6*358=2148hahahahahahaha

*this6*418=2508hahahahahahaha

*this6*718=4308hahahahahahaha

*this6*289=1734hahahahahahaha

*this6*309=1854hahahahahahaha

*this6*529=3174hahahahahahaha

*this7*802=5614hahahahahahaha

*this7*902=6314hahahahahahaha

*this7*912=6384hahahahahahaha

*this7*693=4851hahahahahahaha

*this7*803=5621hahahahahahaha

*this7*843=5901hahahahahahaha

*this7*893=6251hahahahahahaha

*this7*904=6328hahahahahahaha

*this7*205=1435hahahahahahaha

*this7*235=1645hahahahahahaha

*this7*385=2695hahahahahahaha

*this7*405=2835hahahahahahaha

*this7*415=2905hahahahahahaha

*this7*605=4235hahahahahahaha

*this7*615=4305hahahahahahaha

*this7*915=6405hahahahahahaha

*this7*456=3192hahahahahahaha

*this7*586=4102hahahahahahaha

*this7*208=1456hahahahahahaha

*this7*308=2156hahahahahahaha

*this7*458=3206hahahahahahaha

*this7*209=1463hahahahahahaha

*this7*409=2863hahahahahahaha

*this7*589=4123hahahahahahaha

*this7*859=6013hahahahahahaha

*this8*512=4096hahahahahahaha

*this8*592=4736hahahahahahaha

*this8*742=5936hahahahahahaha

*this8*932=7456hahahahahahaha

*this8*942=7536hahahahahahaha

*this8*703=5624hahahahahahaha

*this8*753=6024hahahahahahaha

*this8*953=7624hahahahahahaha

*this8*634=5072hahahahahahaha

*this8*674=5392hahahahahahaha

*this8*704=5632hahahahahahaha

*this8*754=6032hahahahahahaha

*this8*794=6352hahahahahahaha

*this8*954=7632hahahahahahaha

*this8*245=1960hahahahahahaha

*this8*345=2760hahahahahahaha

*this8*465=3720hahahahahahaha

*this8*615=4920hahahahahahaha

*this8*915=7320hahahahahahaha

*this8*906=7248hahahahahahaha

*this8*916=7328hahahahahahaha

*this8*926=7408hahahahahahaha

*this8*307=2456hahahahahahaha

*this8*407=3256hahahahahahaha

*this8*537=4296hahahahahahaha

*this8*459=3672hahahahahahaha

*this8*469=3752hahahahahahaha

*this8*579=4632hahahahahahaha

*this8*679=5432hahahahahahaha

*this9*402=3618hahahahahahaha

*this9*412=3708hahahahahahaha

*this9*512=4608hahahahahahaha

*this9*602=5418hahahahahahaha

*this9*702=6318hahahahahahaha

*this9*712=6408hahahahahahaha

*this9*603=5427hahahahahahaha

*this9*204=1836hahahahahahaha

*this9*804=7236hahahahahahaha

*this9*814=7326hahahahahahaha

*this9*834=7506hahahahahahaha

*this9*205=1845hahahahahahaha

*this9*305=2745hahahahahahaha

*this9*705=6345hahahahahahaha

*this9*715=6435hahahahahahaha

*this9*805=7245hahahahahahaha

*this9*845=7605hahahahahahaha

*this9*206=1854hahahahahahaha

*this9*306=2754hahahahahahaha

*this9*806=7254hahahahahahaha

*this9*836=7524hahahahahahaha

*this9*207=1863hahahahahahaha

*this9*647=5823hahahahahahaha

*this9*408=3672hahahahahahaha

*this9*418=3762hahahahahahaha

*this9*608=5472hahahahahahaha

*this9*638=5742hahahahahahaha
回复

使用道具 举报

发表于 2003-7-18 09:44:39 | 显示全部楼层
代码 不算什么好算法 不过算起来也不用1秒钟 就不再优化了
public void testmainfun(){ // i*k|_|j = _|_|_|_;
    int i,j,k,l;
    for (i=2;i<10;i++){
      num_arr[0] = i;
      for(j=2;j<10;j++){
        if (j!=i){
          num_arr[3] = j;
          num_arr[7] = (i*j)%10;
if (num_arr[7] == i||num_arr[7] == j)
            continue;
          for(k=1;(k<10);k++){
            if ((k>10/i)&&(k!=i)&&(k!=j)&&k!=num_arr[7]){
              num_arr[1] = k;
              for (l=0;l<10;l++){
                if (l!=i&&l!=j&&l!=k&&l!=num_arr[7]){
                  num_arr[2] = l;
                  if (test_code()){
                    System.out.print("*this");
                    output();
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  public boolean test_code(){
    int i = 0;
    i = num_arr[0]*(num_arr[3]+10*num_arr[2]+100*num_arr[1]);
    if (i/1000 != num_arr[0]&&i/1000 != num_arr[1]&&i/1000 != num_arr[2]&&i/1000 != num_arr[3]&&i/1000 != num_arr[7]){
      num_arr[4] = i/1000;
      i = i%1000;
      if (i / 100 != num_arr[0] && i / 100 != num_arr[1] &&
          i / 100 != num_arr[2] && i / 100 != num_arr[3] && i/100 != num_arr[7] && i/100 != num_arr[4]) {
        num_arr[5] = i/100;
        i = i%100;
        if (i / 10 != num_arr[0] && i / 10 != num_arr[1] && i / 10 != num_arr[2] &&
            i / 10 != num_arr[3] && i/10 != num_arr[7] && i/10 != num_arr[4] && i/10 != num_arr[5]) {
          num_arr[6] = i/10;
          i = i%10;
          return true;
          }
       }
    }
    return false;
  }

  public void output(){
    System.out.print(num_arr[0]);
    System.out.print('*');
    System.out.print(num_arr[1]);
    System.out.print(num_arr[2]);
    System.out.print(num_arr[3]);
    System.out.print('=');
    System.out.print(num_arr[4]);
    System.out.print(num_arr[5]);
    System.out.print(num_arr[6]);
    System.out.print(num_arr[7]);
    System.out.println("hahahahahahaha");
  }
回复

使用道具 举报

发表于 2003-7-18 09:55:19 | 显示全部楼层
#include <stdio.h>

int
main()
{
        for(int firstNumber = 2;firstNumber < 9;firstNumber ++)
        {
                int secondNumberStart = 10 / firstNumber;

                if (secondNumberStart == 0) secondNumberStart = 1;

                for(int secondNumber = secondNumberStart;secondNumber < 9;secondNumber ++)
                        for(int thirdNumber = 1;thirdNumber < 9;thirdNumber ++)
                                for(int forthNumber = 1;forthNumber < 9;forthNumber ++)
                {
                        if ((firstNumber == secondNumber) ||
                                (firstNumber == thirdNumber) ||
                                (firstNumber == forthNumber) ||
                                (secondNumber == forthNumber) ||
                                (secondNumber == thirdNumber) ||
                                (thirdNumber == forthNumber))
                        {
                        }
                        else
                        {
                                int result = firstNumber * (secondNumber * 100 + thirdNumber * 10 + forthNumber);

                                if (result > 999)
                                {
                                        int selectedNumber[4] = {firstNumber,secondNumber,thirdNumber,forthNumber};
                                        int resultNumber[4] = {result / 1000,result / 100 % 10,result / 10 % 10,result % 10};

                                        bool found = true;

                                        if ((resultNumber[0] == resultNumber[1]) ||
                                                (resultNumber[0] == resultNumber[2]) ||
                                                (resultNumber[0] == resultNumber[3]) ||
                                                (resultNumber[1] == resultNumber[2]) ||
                                                (resultNumber[1] == resultNumber[3]) ||
                                                (resultNumber[2] == resultNumber[3]))
                                        {
                                                found = false;
                                        }

                                        if (found)
                                        {
                                                for(int i=0;i<4;i++)
                                                {
                                                        if ((resultNumber == 0) ||
                                                                (resultNumber == 9))
                                                        {
                                                                found = false;
                                                                break;
                                                        }
                                                        else
                                                        {
                                                                for(int k=0;k<4;k++)
                                                                {
                                                                        if (resultNumber == selectedNumber[k])
                                                                        {
                                                                                found = false;
                                                                        }
                                                                }
                                                        }
                                                }
                                        }

                                        if (found)
                                        {
                                                printf("(%d) * (%d)(%d)(%d)=(%d)(%d)(%d)(%d)\n",
                                                        firstNumber,secondNumber,thirdNumber,forthNumber,
                                                        resultNumber[0],resultNumber[1],resultNumber[2],resultNumber[3]);
                                        }
                                }
                        }
                }
        }

        return 0;
}

c的应该和java差不多
回复

使用道具 举报

发表于 2003-7-18 10:11:49 | 显示全部楼层
楼上的也是按0-9算得吧 能不能吧结果列一下对比验证以下 如果我们的一样 可靠性就大一点了 现在也不知道是否有遗漏的阿
另外 这么纯的编程贴姿 居然流落在水区...
回复

使用道具 举报

发表于 2003-7-18 11:09:04 | 显示全部楼层
唉, 编程太难,有没有比较好的, 这样写好长的程序!   
回复

使用道具 举报

 楼主| 发表于 2003-7-18 11:16:18 | 显示全部楼层
........看这么巧妙的程序,竟然被我写成这样子,真是太惭愧了
回复

使用道具 举报

 楼主| 发表于 2003-7-18 11:19:35 | 显示全部楼层
[quote:cd865f1e63="wsm"]楼上的也是按0-9算得吧 能不能吧结果列一下对比验证以下 如果我们的一样 可靠性就大一点了 现在也不知道是否有遗漏的阿
另外 这么纯的编程贴姿 居然流落在水区...[/quote]

哎呀,一时按快了点
回复

使用道具 举报

发表于 2003-7-18 11:29:47 | 显示全部楼层
这个该是原题的解了:
this is 3*582=1746haha

this is 3*625=1875haha

this is 3*658=1974haha

this is 5*437=2185haha

this is 5*827=4135haha

this is 6*582=3492haha

this is 6*453=2718haha

this is 6*358=2148haha

this is 7*235=1645haha

this is 7*385=2695haha

this is 7*456=3192haha

this is 8*742=5936haha

this is 8*674=5392haha

this is 8*537=4296haha
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 11:33 , Processed in 0.114756 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表