博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法入门-数组和字符串
阅读量:4164 次
发布时间:2019-05-26

本文共 1137 字,大约阅读时间需要 3 分钟。

3-1 数组

3-1-1开灯问题

有n盏灯,编号为1~n。第一个人把所有灯打开,第二个人把所有编号为2的倍数的开关按下(这些灯将关闭)。第3个人按下所有编号为3的倍数的开关(开着的会关,关的会打开),依次类推。一共有k个人。问最后有哪些灯开着。输入n和k,输出开着的灯编号。k<=n<=1000;

样例输入:7 3

样例输出:1 5 6 7

import java.util.Scanner;import java.util.HashSet;import java.util.Set;class calculate{	public static void main(String[] args){		Scanner sc = new Scanner(System.in);		int n = sc.nextInt();		int k = sc.nextInt();		int[] light = new int[n];		for(int i = 0; i < n;i++){			light[i] = -1;		}		for(int i = 1;i<=k;i++){			for(int j = 0;j < n;j++){				if((j+1) % i == 0){					light[j] = -light[j];				}			}		}		for(int i = 0;i < n;i++){			if(light[i] > 0){				System.out.printf("%d ",(i+1));			}		}		}}

3-1-2 蛇形填数

在n*n的方阵中填入1,2,3,4,5....,n*n,要求蛇形填数,例如 n = 4 时方阵为:

10 11 12 1

 9  16 13 2

 8  15 14 3

 7    6   5  4 

import java.util.Scanner;class calculate{	public static void main(String[] args){		Scanner sc = new Scanner(System.in);		int n = sc.nextInt();		int a[][] = new int[n][n];		for(int i =0;i
= 0 && a[x][y-1] == 0){a[x][--y] = ++temp;} while(x-1 >= 0 && a[x-1][y] == 0){a[--x][y] = ++temp;} while( y+1 < n && a[x][y+1] == 0){a[x][++y] = ++temp;} } for(int i = 0;i

转载地址:http://auqxi.baihongyu.com/

你可能感兴趣的文章
pthread_attr_init线程通俗举例讲解与线程属性
查看>>
进程和线程的区别
查看>>
int main(int argc,char* argv[])详解,以及与int main()有什么区别
查看>>
SourceInsight全工程查找替换方法
查看>>
C语言chdir()函数:改变当前的工作目录
查看>>
Linux下的函数执行时间的统计方法(测试某个函数的执行时间)
查看>>
调整内核printk的打印级别(启动脚本中运行 echo 0 4 0 7 > /proc/sys/kernel/printk 关闭所有内核打印)
查看>>
临时关闭打开console办法
查看>>
Linux中gmtime和localtime的区别(time_t格式转换为tm格式)
查看>>
如果函数传递的是结构体,小心在调用的参数中给指针重新赋值(拿tm结构体举例)
查看>>
使用nm命令获取linux的可执行文件里或动态库中的所有函数名称
查看>>
动态库编写 头文件.h注意事项
查看>>
多个动态库的依赖问题(先后顺序务必注意)
查看>>
二叉树的最大深度
查看>>
N 叉树的最大深度
查看>>
剑指 Offer 52. 两个链表的第一个公共节点 & 相交链表
查看>>
剑指offer 03.数组中的重复数字(四种办法!哎,就是全!)
查看>>
三层--对你的认识再多一点
查看>>
数据库初级篇--EA & ER & SQL Server
查看>>
离线安装.net framework3.5
查看>>