2,打印1~100间所有三的倍数
写法2:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 3; i <= 100; i+=3)
{
printf("%d\n", i);
}
return 0;
}
3,输入两个数,求两个数的最大公约数
方法1:
#include <stdio.h>
int main()
{
int a, b, m;
scanf("%d %d",&a,&b);
if (a < b)
{
m = a;
}
else
{
m = b;
}
while (1)
{
if ((0 == a % m) && (0 == b % m))
{
printf("%d", m);
break;
}
else
{
m--;
}
}
return 0;
}
方法2(辗转相除法):
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int t = 0;
scanf("%d %d", &a, &b);
while(t = a % b)
{
a = b;
b = t;
}
printf("%d", b);
return 0;
}
5,打印100~200之间的素数
#include <stdio.h>
//#include <math.h>
int main()
{
int i ,j,count= 0;
//int flag = 1;
for (i = 100; i <= 200; i++)//优化2:i的值全部改为奇数,即for(i = 101; i <= 200; i+=2)
{
for (j = 2; j < i; j++)//优化1:将j < i换成j <= sqrt(i),需要引入头文件<math.h>,引入flag变量
{
if (0 == i % j)
{
//flag = 0;
break;
}
}
if (i == j)//if(flag = 1)
{
printf("%d ", i);
count++;
}
}
printf("\n总数count=%d", count);
return 0;
}