Problem L: 输出是m的倍数或n的倍数、但不是m和n的公倍数的数
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 35345 Solved: 13583
[Submit][Status]
Description
输出1~k之间是m的倍数或n的倍数、但不是m和n的公倍数的数,其中1<=m,n<k<100,且m与n不相等。
Input
输入三个整数,依次为k、m、 n。
Output
从小到大输出符合题意的所有整数,两数之间用一个空格分开。
Sample Input
15 2 3
Sample Output
2 3 4 8 9 10 14 15
HINT
难点在于输出格式的控制:空格在数的中间,学会用循环时边界情况的特殊处理。
#include <stdio.h>
int main()
{
int k,m,n,i;
scanf("%d %d %d",&k,&m,&n);
if(m>n)
{
int t = m;
m = n;
n = t;
}
printf("%d",m);
for(i=m+1;i<=k;i++)
{
if(i%m==0 && i%n==0) continue;
else if(i%m==0 || i%n==0)
{
printf(" %d",i);
}
}
}