Đăng nhập để hỏi chi tiết


Cho 1 số N. Thể hiện N như là tổng của ít nhất 2 số nguyên dương liên tiếp. Ví dụ
Nếu có nhiều đáp án thì in ra đáp án có số lượng phần tử ít nhất. Nếu không có đáp án thì in 1 dòng chữ "IMPOSSIBLE"
C++ ạ
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
#include <string>
using namespace std;
bool prc(int a) {
for (int y = 1; y < a; y++) {
int x = a / (y + 1) - y / 2;
if ((y + 1)*(x + (float)y / 2) == a) {
cout << a << " = ";
for (int j = x; j < x + y; j++) {
cout << j << " + ";
}
cout << x + y << endl;
return 1;
}
}
return 0;
}
int main() {
int N;
cin >> N;
while (N--) {
int a;
cin >> a;
if (!prc(a))
cout << "IMPOSSIBLE" << endl;
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
![]()
`\color{pink}{#Bơ}`
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
bool kt = false;
for (int i = 2; i * (i + 1) / 2 <= n; i++) {
int t = n - i * (i - 1) / 2;
if (t % i == 0) {
int a = t / i;
for (int j = 0; j < i; j++) {
cout << a + j;
if (j != i - 1) cout << " + ";
}
cout << endl;
kt = true;
break;
}
}
if (!kt) cout << "IMPOSSIBLE\n";
return 0;
}
`\color{#1AD5F7}{⋆⟡H}\color{#1AD5F7}{a}\color{#4DA6E6}{r}\color{#668EDD}{i}\color{#8077D5}{i}\color{#995FCD}{i}\color{#EA2F90}{⟡⋆}`
Hãy giúp mọi người biết câu trả lời này thế nào?
![]()
Bảng tin
1108
18242
1147
tui kick bạn ra xíu để xử lý, đợi 2 ngày gửi yêu cầu vô nhà bạn