Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Quá trình dịch:
int n;
cin >> n;
`->` n = int(input())
vector<int> f(n+1, 1e9);
`->` f = [10**9] * (n+1)
for (int i=0; i<=min(9,n); i++) f[i]=1;
`->` for i in range(min(9, n)+1): f[i] = 1
for (int i=10;i<=n;i++){
`->` for i in range(10, n+1):
int p=i,k=1e9,q=0,l=i;
`->` p, k, q, l = i, 10**9, 0, i
while(p>0){
`->` while (p > 0):
q=p%10;
`->` q = p % 10
k=min(k,f[l-q]);
`->` k = min(k, f[l-q])
// cout<<l-q<<' ';
`->` #print(l-q, end=' ')
p/=10;
`->` p //= 10
f[i]=k+1;
`->` f[i] = k+1
// cout<<k<<'\n';
`->` #print(k)
cout<<f[n];
`->` print(f[n])
$\\$
$\\$
$\color{#0000ff}{\texttt{P}}\color{#0082ff}{\texttt{y}}\color{#ffff00}{\texttt{t}}\color{#ffdc00}{\texttt{h}}\color{#ffb400}{\texttt{o}}\color{#ff9664}{\texttt{n}}$
n = int(input())
f = [10**9] * (n+1)
for i in range(min(9, n)+1): f[i] = 1
for i in range(10, n+1):
p, k, q, l = i, 10**9, 0, i
while (p > 0):
q = p % 10
k = min(k, f[l-q])
#print(l-q, end=' ')
p //= 10
f[i] = k+1
#print(k)
print(f[n])
$\\$
$\\$
\begin{array}{c|c|c}\color{#ffd710}{\texttt{\{}} \color{#8655d6}{\texttt{\{}}\ \ \color{#8cdcda}{\text{Daoanhviet96}}\ \ \color{#8655d6}{\texttt{\}}} \color{#ffd710}{\texttt{\}}}\end{array}
Hãy giúp mọi người biết câu trả lời này thế nào?
import sys
n = int(input())
f = [sys.maxsize] * (n + 1)
for i in range(min(10, n + 1)):
f[i] = 1
for i in range(10, n + 1):
p = i
k = sys.maxsize
q = 0
l = i
while p > 0:
q = p % 10
k = min(k, f[l - q])
p //= 10
f[i] = k + 1
print(f[n])
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin