Announcement

Collapse
No announcement yet.

Một bài lập trình nhỏ !!!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] Một bài lập trình nhỏ !!!

    Em có 1 bài lập trình sau, làm hoài không được:

    tìm 2 số x,y sao cho: x * y= 133745639 (phải bằng số này).
    Mong mọi người giúp em thuật toán!

    VD cái thuật toán đơn giản nhất em nghĩ đến:

    for (x=2;x<100000;x++)
    {
    for (y=2;y<100000;y++)
    {
    kq=x*y;
    if (kq=133745639)
    {
    cout<<"X= "<<x<<endl;
    cout<<"Y= "<<y<<endl;
    }
    }
    }
    Post dạng text hơi khó nhìn! hi
    khó khăn trong bài này là:
    -- khi em dùng lặp kép để x*y thì:
    - Nếu gán int cho x,y thì sẽ bị tràn bộ nhớ (int có 2 byte mà kết quả lớn hơn!).
    - Nếu gán float cho x,y thì máy sẽ tự làm tròn kết quả (lúc này kq= 133745640).

    ngoài ra 1 trong 2 số không được = 1 (đương nhiên rồi !).
    Note:
    a. Nếu post kq thì A/C hãy test trước khi post, sợ nó ra =...40 !
    b. Ngoài ra, em muốn hỏi trong uit có ai yêu thích RE (Reverse Engineering) k? (chủ yếu Crack),
    nếu có thì cho làm quen, chia sẻ kt chứ học 1 mình khó quá, hi.:byebye:
    Last edited by 12520162; 01-04-2013, 22:50. Reason: Thêm code
    u should run..

  • #2
    for (x=2;x<100000;x++)
    {
    for (y=2;y<100000;y++)
    {
    kq=x*y;
    if (kq=133745639)
    {
    cout<<"X= "<<x<<endl;
    cout<<"Y= "<<y<<endl;
    }
    }
    }
    sao tự nhiên in ra x với y vậy nếu TH x=y thì in ra căn 2 của số kia chứ:beatbrick:
    Khi đã chọn công việc hay cái nghề cho mình thì nên đầu tư nhiều công sức cho nó thì sẽ thấy nó có nhiều cái hay để kiếm ra tiền lắm.Rồi cái quan trọng là có sức hay kiên trì mà làm không thôi! Đừng đứng núi này trông núi nọ thì phí hoài thời gian và tuổi trẻ thôi!

    Comment


    • #3
      Code:
      for (x=2;x<100000;x++)
      {
      for (y=2;y<100000;y++)
      {
      kq=x*y;
      if (kq=133745639)//so sánh
      {
      cout<<"X= "<<x<<endl;
      cout<<"Y= "<<y<<endl;
      }
      }
      }
      So sánh thì 2 dấu bằng nha em.
      Thử code này xem
      Code:
      for(int i = 2; i < 133745639; i++)
      		if(133745639%i == 0)
      		{
      			cout<<i<<" & ";
      			cout<<133745639/i<<endl;
      		}
      Không liên quan nhưng tốt nghiệp rồi. :love:

      Comment


      • #4
        Originally posted by 11520034 View Post
        sao tự nhiên in ra x với y vậy nếu TH x=y thì in ra căn 2 của số kia chứ:beatbrick:
        em dùng lặp kép, nếu x=y thì nó cũng in ra x,y chứ anh @@!
        u should run..

        Comment


        • #5
          Originally posted by 10520306 View Post
          So sánh thì 2 dấu bằng nha em.
          Thử code này xem
          Code:
          for(int i = 2; i < 133745639; i++)
          		if(133745639%i == 0)
          		{
          			cout<<i<<" & ";
          			cout<<133745639/i<<endl;
          		}
          ặc ặc, bái phục !
          thế mà em ko nghĩ ra, cám ơn nah nhiều !hi
          vậy là qua đc Challenge lv.2 rồi!
          osix.net is your first and best source for all of the information you’re looking for. From general topics to more of what you would expect to find here, osix.net has it all. We hope you find what you are searching for!
          u should run..

          Comment

          LHQC

          Collapse
          Working...
          X