

Vào một buổi sáng, rất tình cờ Nam nhìn thấy một số nguyên dương 𝑁N trên đường từ nhà đến trường. Vì Nam rất thích số 3030 nên Nam muốn biến đổi số 𝑁N thành số 𝑀M có dạng là số lớn nhất và là bội của số 3030 bằng cách thay đổi vị trí của các chữ số trong số 𝑁N mà Nam nhìn thấy.
Bạn hãy hỗ trợ Nam bằng cách viết chương trình để tìm số 𝑀M (nếu nó tồn tại).
Input
Output
Example
Test 1
InputCopy30 OutputCopy30
Test 2
InputCopy102OutputCopy210
Test 3
InputCopy3333333333333333333333333333 OutputCopy-1 Yêu cầu làm rõ đề Thông báo
Không có thông báo nào.
proudly powered by DMOJ| developed by LQDJudge team Tiếng Việt (vi) English (en)
Ai trả lời nhanh nhất sẽ được vote 5 sao và câu trả lời hay nhất c++ nhé giúp với chiều nay đi học rồi helppppppppppp
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Một số chia hết cho 30 thì nó phải thỏa mãn điều kiện vừa chia hết cho 3 và vừa chia hết cho 10. Đồng nghĩa với việc tổng các chữ số của số đó phải chia hết cho 3 và tồn tại ít nhất 1 chữ số 0. Nếu thỏa mãn, ta sắp xếp lại các chữ số của số đó theo thứ tự giảm dần (do chữ số càng về bên trái càng lớn thì số đó càng lớn) và in ra số đã được sắp xếp.
Để ý rằng N có thể có tới 10^5 chữ số nên ta sử dụng string thay vì int hoặc long long. Code C++:
#include<bits/stdc++.h>
using namespace std;
string s;
void solve(){
sort(begin(s),end(s),greater<char>());
cout<<s;
}
signed main(){
cin>>s;
int sum=0;
bool zflag=false;
for(char k:s){
if(k=='0')zflag=true;
sum+=k-'0';
}
if(zflag&&sum%3==0)solve();
else cout<<-1;
return 0;
}
Note: với lại chú ý lần sau muốn hỏi gì thì nhớ viết cho cần thận nhé chứ đừng có chỉ copy paste từ lqdoj sang rồi gửi qua loa như này. Mình đọc mãi mới hiểu bạn đang hỏi cái gì :/
Hãy giúp mọi người biết câu trả lời này thế nào?
![]()
#include <bits/stdc++.h>
#define N int(1e9+7)
using namespace std;
string s;
long long n,a,b,s1=0;
int main(){
cin>>s;
for(long long i=0;i<s.size();i++)
{
s1=s1+(s[i]-48);
if(s[i]=='0') n=10;
}
if(s1%3!=0)
cout<<-1;
else
{
if(n!=10)
cout<<-1;
else
for(long long j=9;j>=0;j--)
{for(long long i=0;i<s.size();i++)
{
if((s[i]-48)==j)
cout<<s[i];
}
}
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
![]()
Bảng tin