C++ 有人可以查看以下UVa 10038溶液代码吗?

C++ 有人可以查看以下UVa 10038溶液代码吗?,c++,C++,我目前正在解决这个问题。所以,为了调试我的代码,我去了。发现我的代码几乎完成了,但也有一些例外 我希望检查以下代码。任何编辑建议都会有所帮助 我尝试使用while循环(在代码的末尾)代替if语句,但这会冻结输入 /*#包括*/ int main(){ /*声明所需的一切*/ int n,num,diff; 布尔是快乐的; 向量数,差异; while(cin>>n){ /*在使用所有图元之前删除它们*/ 数字。清除(); 区别。清楚(); /*一个数字序列总是令人愉快的*/ /*接受所有的数字*/

我目前正在解决这个问题。所以,为了调试我的代码,我去了。发现我的代码几乎完成了,但也有一些例外

我希望检查以下代码。任何编辑建议都会有所帮助

我尝试使用while循环(在代码的末尾)代替if语句,但这会冻结输入

/*#包括*/
int main(){
/*声明所需的一切*/
int n,num,diff;
布尔是快乐的;
向量数,差异;
while(cin>>n){
/*在使用所有图元之前删除它们*/
数字。清除();
区别。清楚();
/*一个数字序列总是令人愉快的*/
/*接受所有的数字*/
对于(int i=0;i>num;
数字。推回(num);
}
/*计算这些参数的绝对值*/
对于(int i=1;i1){
排序(differences.begin()、differences.end()、greater());
}
/*创建迭代器以检查值是否通过n-1达到1*/
int k=n-1;
对于(int i=0;iis_jolly=true;/*像这样更改此循环


如果在任何时刻,任何差异[i]都不等于k,那么它就是jolly。否则,它就是jolly。因此,我们将检查在任何时刻差异[i]是否等于k,那么它就是

is_jolly = true; // suppose the answer is true
for(int i = 0; i < differences.size(); i++){
     if(differences[i] != k){    // if at any time this value is not k then answer is false.
          is_jolly = false;
          break;
     }
     k--;
}
is_jolly=true;//假设答案为true
对于(int i=0;i
如果它是要检查的工作示例,那么将是更好的地方,但您似乎只需要这里的调试帮助?@formerlyknownas_463035818其c++14请添加一些解释。为什么这是问题的解决方案?如果在任何时候,有任何差异[i]如果不等于k,那么它就不是jolly。否则,它就是jolly。所以我们将检查在任何时刻差[i]是否不等于k,那么它就是false。
is_jolly = true; // suppose the answer is true
for(int i = 0; i < differences.size(); i++){
     if(differences[i] != k){    // if at any time this value is not k then answer is false.
          is_jolly = false;
          break;
     }
     k--;
}