PTA 7-125 求出两个正整数之间能被3整除但不能被5整除的所有奇数 分数 12
作者 崔孝凤 单位 山东理工大学
编程求出任意两个正整数(闭区间,即包括两个正整数)之间能被3整除但不能被5整除的所有奇数。
输入格式:
输入两个正整数(用空格分隔)赋给变量m和n。
输出格式:
输出m和n之间能被3整除但不能被5整除的所有奇数。
要求:每行输出8个数,数据之间用英文逗号,分隔。
输入样例:
1 200
输出样例:
3,9,21,27,33,39,51,57
63,69,81,87,93,99,111,117
123,129,141,147,153,159,171,177
183,189,
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int m,n;
scanf("%d %d",&m,&n);//输入两个正整数(用空格分隔)赋给变量m和n
int i,j;
//i是循环变量,j是用来控制格式
for(i=m;i<=n;i++){
//在m到n之间依次寻找
if(i % 3 == 0 && i % 5 != 0 && i % 2 != 0){//能被3整除但不能被5整除的所有奇数
printf("%d",i);
j=j+1;//j加1
if(j%8==0){//每输出八个数字一换行
printf("\n");
}
else{
printf(",");//每个数字之间,逗号隔开
}
}
}
}
解题思路
任意两个正整数(闭区间,即包括两个正整数)之间能被3整除但不能被5整除的所有奇数的步骤:
step 1:输入两个正整数m和n;
step 2:在m到n之间依次寻找能被3整除但不能被5整除的所有奇数;
step 3:若满足条件,控制格式j+1;
step 4:每输出八个数字一换行,数据之间用英文逗号,分隔。
归属知识点
循环结构,选择结构