论坛首页 综合技术论坛

一道算法题看程序员的魅力

浏览 27544 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2011-06-30  
有一问题:说一个屋里有多个桌子,有多个人?
如果3个人一桌,多2个人。
如果5个人一桌,多4个人。
如果7个人一桌,多6个人。
如果9个人一桌,多8个人。
如果11个人一桌,正好。请问这屋里多少人?

java程序员的解法:

public class Sum11

public static void main(String [] args){
        int sum=11;
for (int i=1; i<1000 ; i++)//当人数在11000内时
{    
sum=11*i;
if (sum%3 ==2 && sum%5==4 && sum%7==6 && sum%9==8 )

System.out.println("sum=" + sum);//屋里有的人数
System.out.println("desk=" + sum/11);//屋里有多个桌子
System.out.println();
}

}
     
}

}
当人数在11000内时,设sum为人数,desk为桌子
结果有三种:
sum=2519, desk=229; 
sum=5984 ,desk= 544;
sum=9449, desk=859.

这是程序的魅力所在,程序员不可忘的基本功,这是我们程序员存在的真正价值。我们对技术充满激情,又不断地坚强学习,与时俱进发挥我们的能量,为了心中的理想而奋斗不止,无悔于心。
   发表时间:2011-06-30  
楼主想表达什么呢?
0 请登录后投票
   发表时间:2011-06-30  
等价于(315*n-1)%11 == 0
因为315%11 = 7,  (7*8-1)%11 == 0
所以第一个解n=8 且 n+=11
0 请登录后投票
   发表时间:2011-07-01  
呃。。。。。。
0 请登录后投票
   发表时间:2011-07-01  
解个不定方程都不会解的孩子伤不起。。。

3*5*7*x - 11y =1
gcd(3*5*7,11)=1 

欧几里得算法逆向求x,y
0 请登录后投票
   发表时间:2011-07-03  
楼主暴搜~
0 请登录后投票
   发表时间:2011-07-04  
我认为这个题目应该是考高程的题目。要是楼主这样回答不会满意的
0 请登录后投票
   发表时间:2011-07-04  
中国余数定理~去离散书上看看该怎么解吧。
0 请登录后投票
   发表时间:2011-07-04  
为什么列个2元方程组,没有解呢。。。。。。。。
3x+2=y;
11x=y;
谁能告诉我为什么。。。
0 请登录后投票
   发表时间:2011-07-04  
gbfd2012 写道
为什么列个2元方程组,没有解呢。。。。。。。。
3x+2=y;
11x=y;
谁能告诉我为什么。。。

小学没毕业吗?
3x+2=11x   怎么可能有整数解。。。。。。。。。。。

0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics