dạ chào mn.
Câu hỏi
Em muốn hỏi vì sao lại bị lỗi ở hàm to_string và cách fix ạ
Sau đây em xin dẫn ** 2ví dụ bài của em**.
Vd1
Đề:’
trên mặt bảng ghi số 1. Mỗi một lần biến đổi, Bờm thực hiện một trong hai phép toán sau đây đối với số viết trên bảng: hoặc là cộng thêm nó với 1, hoặc là đổi chỗ các chữ số của nó (không được để số 0 đừng đầu từ trái qua phải). sau đó xoá số đanng có trên bảng về viết kết quả thu được.
dữ liệu vào:
- dòng đầu ghi số nguyên t - số lượng test
- dòng thứ i trong t dòng tiếp theo chứa số nguyên Ni (2<=Ni<10^9, 1<=i<=T)
test
input:
3
2
955
21
output:
Code:
#include <iostream>
#include <bits/stdc++.h>
#include <string>
#include <fstream>
using namespace std;
long long a[10000];
long long n;
int traoso(int b) {
string x;
int s,i;
x=to_string(b);
s=x.size();
sort(x+1;x+1+s);
for (i=0;i<=s-1;i++) {
if (x[i]=0) {
swap(x[i],x[i+1]);
}
}
b=atoi(x.ctr());
return b;
}
int ktra(int b) {
int x,c,i,dem;
string y;
x=abs(a-b);
dem=0;
while(b>=1) {
traoso(b)
y=to_string(b);
c=y.size();
b=b-1;
dem++;
for (i=0;i<=c-1;i++) {
if ((y[i]>a[i+1]) && (y[i]!=0) && (y[i+1]!=0)) {
traoso(y);
dem++;
}
}
}
return dem;
}
main()
{
cin>>n;
for (i=1;i<=n;i++) {
cin>>a[i];
}
for (i=1;i<=n;i++) {
cout<<ktra(a[i])<<endl;;
}
}
Giải thích thuật toán
Lấy ví dụ là số 85. số trên bảng là 3
đầu tiên là lấy x=/3-85/=82 - đây là giá trị cần phải biến đổi để 85 thành 3.
Ta áp dụng các 2 phương pháp sao cho x=0 thì oke. ( tổng số phương pháp cần làm cho quá trình này gọi là y)
Đầu tiên, đổi x thành xâu rồi sắp xếp nó cho số nhỏ lại thì 82 --> 28 ( ở thuật toán tên traoso)
Sau đấy thì lấy 28 trừ 1 cho đến khi nào mà số trước lớn hơn số sau ( ở đây là khi trừ 1 9 lần thì ta có 28-9=19 (số 1 bé hơn số sau nên ko cần biến đổi, còn nếu có thì biến đổi nó lại thành xâu rồi sắp xếp ))
Cừ làm như thế cho đến khi bằng 0 thì oke, mỗi lần trừ 1 và biến đổi thì y+1
vd2
đề: cho số nguyên t, biến nó thành xâu rồi in ra.
Code:
#include <iostream>
#include <bits/stdc++.h>
#include <string>
#include <fstream>
using namespace std;
int main()
{
int t;
cin>>t;
string s;
s=to_string(t);
cout<<s;
return 0;
}