[ad_1]
#include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; int sock = n; int count = 0; while (sock > 0) { count+=1; if (sock % m == 0) { sock++; } sock--; } cout << count << endl; return 0; }
Apa yang saya coba:
sebenarnya saya sedang mengerjakan while loop tetapi ada beberapa masalah dalam kode saya tidak ada pencetakan apa pun. Saya telah memeriksanya dengan pendekatan yang berbeda tetapi tidak ada solusi yang datang
Solusi 1
Saya pikir masalahnya ada di sini:
if (sock % m == 0) { sock++; } sock--; // If you add 1 to sock and then subtract 1 it will go on for ever
tapi saya tidak yakin apa yang seharusnya dilakukan baris kode tersebut.
Solusi 2
Sesegera sock
habis dibagi m
itu bertambah dan segera dikurangi lagi – sehingga iterasi loop berikutnya memiliki nilai yang sama sock
dan loopnya tidak pernah keluar.
Karena perulangan tidak pernah keluar, kode tidak pernah mencapai cout
dan Anda tidak pernah melihat keluaran apa pun.
Sejujurnya, 2 menit dengan debugger akan menunjukkan hal itu kepada Anda sendiri: biasakan menguji kode Anda di debugger karena ini adalah teman pengembangan terbaik yang Anda miliki!
[ad_2]
コメント