Problem D: 输出是m的倍数或n的倍数、但不是m和n的公倍数的数
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 19470 Solved: 7005
[Submit][Status][Web Board]
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,min;
scanf("%d%d%d",&k,&m,&n);
min=m<=n?m:n;
printf("%d",min);
for(i=min+1;i<=k;i++)
{
if((i%m==0&&i%n!=0)||(i%m!=0&&i%n==0))
printf(" %d",i);
}
}