我系初学者 帮忙看看这段C++程序有什么问题 谢谢
要解决的问题是“一个整数,它除967,1000,2001得相同余数,这个整数是几?基数应该是从从2001开始。#include<iostream>usingnamespa...
要解决的问题是“一个整数,它除967,1000,2001得相同余数,这个整数是几?
基数应该是从从2001开始。
#include<iostream>
using namespace std;
int main()
{ int x=2001,n1=967,n2=1000,n3=2001;
for(int n=1;n<x;){
if(x%n1==x%n2&&x%n2==x%n3)
n=x;
else
++x;
}
cout<<x<<endl;
system("pause");
return 0;
}
编译运行看情况是存在死循环,不过想了良久都没发现哪有问题,不过估计又是些弱智的错误。。大家帮我看看 谢谢 展开
基数应该是从从2001开始。
#include<iostream>
using namespace std;
int main()
{ int x=2001,n1=967,n2=1000,n3=2001;
for(int n=1;n<x;){
if(x%n1==x%n2&&x%n2==x%n3)
n=x;
else
++x;
}
cout<<x<<endl;
system("pause");
return 0;
}
编译运行看情况是存在死循环,不过想了良久都没发现哪有问题,不过估计又是些弱智的错误。。大家帮我看看 谢谢 展开
展开全部
#include<iostream>
using namespace std;
int main()
{ int x=2001,n1=967,n2=1000,n3=2001;
for(int n=2001;;++n){
if(n%n1==n%n2&&n%n2==n%n3)
{
x=n;
break;
}
}
cout<<x<<endl;
system("pause");
return 0;
}
这样该就可以了,自己对握缺比这看。
int main()
{
int n;
for(n=2001;;++n)
{
if(n%967==n%1000 && n%1000==n%2001)
break;
}
cout<<n<<endl;
system("pause");
return 0;
}
这样写规范点,另外最好判渗闷断一下n的值,与你编译器设定的maxint比较一下,结束循段喊辩环,防止死循环。
using namespace std;
int main()
{ int x=2001,n1=967,n2=1000,n3=2001;
for(int n=2001;;++n){
if(n%n1==n%n2&&n%n2==n%n3)
{
x=n;
break;
}
}
cout<<x<<endl;
system("pause");
return 0;
}
这样该就可以了,自己对握缺比这看。
int main()
{
int n;
for(n=2001;;++n)
{
if(n%967==n%1000 && n%1000==n%2001)
break;
}
cout<<n<<endl;
system("pause");
return 0;
}
这样写规范点,另外最好判渗闷断一下n的值,与你编译器设定的maxint比较一下,结束循段喊辩环,防止死循环。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询