[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; }
मैंने क्या प्रयास किया है:
असल में मैं while लूप्स के साथ काम कर रहा था लेकिन मेरे कोड में कुछ समस्या है, कुछ भी प्रिंट नहीं हो रहा है, मैंने इसे अलग-अलग तरीकों से जांचा है लेकिन कोई समाधान नहीं आ रहा है
समाधान 1
मुझे लगता है समस्या यहीं है:
सी++
if (sock % m == 0) { sock++; } sock--; // If you add 1 to sock and then subtract 1 it will go on for ever
लेकिन मुझे यकीन नहीं है कि कोड की वे पंक्तियाँ क्या करेंगी।
समाधान 2
जैसे ही sock
से विभाज्य है m
इसे बढ़ाया जाता है और तुरंत फिर से घटाया जाता है – इसलिए अगले लूप पुनरावृत्ति का मान समान होता है sock
और लूप कभी बाहर नहीं निकलता।
चूँकि लूप कभी बाहर नहीं निकलता, कोड कभी नहीं पहुँचता cout
और आपको कभी भी कोई आउटपुट नहीं दिखता.
ईमानदारी से कहूँ तो, डिबगर के साथ 2 मिनट आपको यह दिखा देंगे: डिबगर में अपने कोड का परीक्षण करने की आदत डालें क्योंकि यह आपका सबसे अच्छा विकास मित्र है!
[ad_2]
コメント