Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Giúp em bài tập c#

8 năm trước 960 lượt xem 3 bình luận 8 năm trước

Viết chương trình yêu cầu người dùng nhập vào số nguyên dương n, sau đó in ra tổng các số nguyên dương (bắt đầu từ 1) lớn nhất có thể sao cho tổng này nhỏ hơn n
 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
hnguyen đã bình luận 8 năm trước

Bạn đổi đoạn mã này: 

sum = val - 1;

sang đoạn mã sau: 

    for(int i = 0; i < val; i++)
    {
      sum += i;
      if(sum >= val)
      {
        sum -= i;
        break;
      }
    }

 

Trường Trong Trắng đã bình luận 8 năm trước

Em cảm ơn ạ!! "tổng các số nguyên dương (bắt đầu từ 1) lớn nhất có thể". là tổng trong khoảng 1 - n đó ạ

hnguyen đã bình luận 8 năm trước
using System;
class MainClass {
  public static void Main (string[] args) {

    int val = 0;
    bool isSuccess = false;
    
    while(!isSuccess)
    {
      Console.WriteLine("Input number :");
      var number = Console.ReadLine();
      isSuccess = int.TryParse(number.ToString(), out val);
      isSuccess = isSuccess && (val > 0);
    }
    
    int sum = 0;
    sum = val - 1;

    Console.WriteLine("Output: " + sum);
  }
}

Mình chưa hiểu rõ lắm về yêu cầu: "tổng các số nguyên dương (bắt đầu từ 1) lớn nhất có thể".

Nhưng nếu tìm số nguyên x < n lớn nhất có thể thì: x = 1 + (n-2);

Câu hỏi mới nhất