Kết quả khác nhau mà
Tính tổng các số nguyên nhỏ hơn n chia hết cho a nhưng k chia hết cho b
Nhưng mà sao bạn kia làm không ra nhỉ
Làm vs công thức F loằng ngoằng ở trên thử so sánh xem :).
1 Like
eo ơi, input 2 4 1234
out ra 0
Anh xem thử ?
Cơ mà anh tìm công thức hay quá vậy :v
int UCLN(int a, int b)
{
a = abs((double)a);
b = abs((double)b);
if (a==0 ||b==0)
return a+b;
while (a !=b) {
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
int F(int n, int x)
{
int k=(n-1)/x;
return x*k*(k+1)/2;
}
int main()
{
int a, b, n;
printf("Input a, b, n: ");
scanf("%d %d %d", &a, &b, &n);
int g = UCLN(a, b);
int S = F(n, a) - F(n, g);
printf("%d", S);
return 0;
}
Tất nhiên ucln thì nó âm hoặc = 0. Anh nhầm g đó là bcnn. Còn công thức thì tính tổng nhỏ hơn n chia hết cho a là F(n,a), tổng nhỏ hơn n chia hết cả a và b là F(n,g) lấy trừ thì dc tổng chia hết cho a mà không chia hết cho b
1 Like