3个回答
展开全部
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倍。
容易知道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倍。
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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();
}
我看就不用解释了吧
#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();
}
我看就不用解释了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询