源程序如下:
#include "stdio.h"
int main()
{
int x;//定义一个整型变量作为过程判断变量
int i = 0;//循环变量
for (i = 0; i < 10; i++)//循环遍历1-100内的数
{
x = i * 10 + 6;//采用遍历变量将个位数为6的数提取出来,减小了时间复杂度
if (x % 3 == 0)//判断是否能被3整除,能则打印输出
printf("%d ", x);
}
return 0;
}
程序运行结果如下:
扩展资料:
C++语言实现方式:
#include
using namespace std;
void main()
{
for (int i = 0; i < 100; i++)
{
if ((i - 6) % 10 == 0)
if (i % 3 == 0)
cout << i << " ";
}
cout << endl;
}
for(i=0;i<10;i++)
{ j=i*10+6;
if (j%3!=0) continue;
printf(“%d”,j);
}
如果你用
i<10,j%3==0
程序就会在j%3==0时跳过,不输出,不执行printf(“%d”,j),如6,36,66,96等都不会输出.
输出的只会有16,26,46等不会给3整除的数
#include
int main()
{
int i;
int j;
for(i=0;(j=i*3*10+6)<100;i++)
printf("%d ",j);
return 0;
}
效率最高循环执行4次就得到结果
i<10
j%3!=0
不对啊
我这里的结果是3,36,66,96
我试过了没错的
#include
int main()
{ int i;
for(i=0;i<100;i++)
if(i%3==0&&i%10==6)
printf("%d ",i);
return 0;
}