[英]No output? C++14
所以我試圖做一個叫做 3n+1 的挑戰,我必須告訴程序在 n=1 之前必須乘或除多少次,但我沒有從程序中得到任何輸出。 請幫忙? ps 我使用的是 C++ 14
#include <iostream>
using namespace std;
int n;
int d=0;
int main() {
cin>> n;
for(int i=n; i<=1;){
if(n=1){
cout<< d;
}
else if(n%2==0){
d++;
n/2;
}
else{
d++;
n*3+1;
}
}
return 0;
}
可能的修復:
#include <iostream>
using namespace std;
int main() {
int n; // you don't need the values to be global
int d=0;
cin>> n;
for(; ;){ // deleted i because it wasn't used
if(n<=1){ // compare here, don't assign here
cout<< d;
break; // exit the loop
}
else if(n%2==0){
d++;
n=n/2; // please update n here
}
else{
d++;
n=n*3+1; // also please update n here
}
}
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.