一个数被2,3,4,5,6除都余1,被7刚好整除,这个数是多少

要求写出一个函数并解释一下... 要求写出一个函数并解释一下 展开
 我来答
zzzhiv
2008-12-26 · TA获得超过5101个赞
知道大有可为答主
回答量:1万
采纳率:0%
帮助的人:4000万
展开全部
23456的最小公倍数的i倍加1可以整除7。

容易知道23456最小公倍数为60。

//////////////////////////////////////
#include <iostream>
using namespace std;
int main()
{
int i;
for(i=1;i<=100;i++)
{
if((60*i+1)%7==0)
{
cout<<60*i+1<<endl;
}
}
}
////////////////////////////////////////

我们还考虑到这个题的特出情况,7的n倍末尾是1的只有3*7=21,而60的n倍末尾一定是0。那么只要7的K倍减去21被60整除,就是7的k倍减去2被6整除.
那么有:

////////////////////////////////////////
#include <iostream>
using namespace std;
int main()
{
int i;
for(i=1;i<=100;i++)
{
if((7*i+2)%6==0)
{
cout<<(7*i+2)*10+1<<endl;
}
}
}
///////////////////////////////////////

可以看出,第二种算法比第一种算法速度快1.2倍,比二楼的算法快10倍,比一楼的算法快70倍。
liujq007
2008-12-26 · TA获得超过942个赞
知道大有可为答主
回答量:1035
采纳率:0%
帮助的人:1083万
展开全部
#include<iostream>
using namespace std;
int main()
{
int i,j;
for(i=1;i<100;i++)
{
j=7*i; //因为是7的倍数,所以每次自然数×7,有效减少比较次数
if(j%2==1&&j%3==1&&j%4==1&&j%5==1&&j%6==1)
break;
}
cout<<j<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Na年花开
2008-12-26 · 超过54用户采纳过TA的回答
知道答主
回答量:435
采纳率:0%
帮助的人:221万
展开全部
#include "stdio.h"
#include "conio.h"
main()
{
int i;
for(i=0;i<1000;i++)
{
if(i%2==1&&i%3==1&&i%4==1&&i%5==1&&i%6==1&&i%7==0)
{
printf("%d\t",i);
}
}
getch();
}
我看就不用解释了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式