解题思路:
用数据解决问题。
注意事项:
何时将数组中值变为0的情况。和最终输出问题,因为需要多行输出。
所以最后还要在输出 加一行 退行处理。
参考代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);
while(sc.hasNext())
{
F(sc.nextInt(),sc.nextInt());
}
sc.close();
}
public static void F(int a,int b) //输入处理
{
int c[]=new int[a]; //创立一个a的大小的数组
c[0]=1; //数组第一个数为1
int count=0;
int m=0;
for(int i=1;i<a;i++) //赋值1,2,3.....a的
c[i]=c[i-1]+1;
for(int i=0;i<a;i++) //筛选操作
{
if(c[i]!=0) //计数count
count++;
if(count%b==0 && count!=0) //此处要注意 count!=0 情况, 赋0操作
{
c[i]=0;
count=0;
m++;
}
if(i==(a-1)) //需要多次遍历数组
{
i=-1;
}
if(m==(a-1)) //停止遍历条件
break;
}
for(int i=0;i<a;i++) //结果输出
{
if(c[i]!=0)
{
System.out.print(c[i]);
System.out.println();
}
}
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复