day10

第十天了,坚持了1/3天了,加油,总会有好的结果的!!!

  1. 裁剪刀

公式:4+(行数-1)+(列数-1)*行数

打卡题。。。。。。不多说。。

  1. 刷题统计

训练思维的题目,循环控制,

package daka;

import java.util.*;

/*

* 刷题统计

*

* 周一-周五:10 周末 :20 实现目标需要多少天

* !

*/

public class shuatishu {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int a = sc.nextInt();//1-5

int b =sc.nextInt();//6-7

int n = sc.nextInt();//总数

int [] weekcount = new int []{a,a,a,a,a,b,b};

int count =0;int week =0;//模拟需要经过第几周

boolean flag =true;

while(flag) {

for(int i=0;i<weekcount.length;) {

count += weekcount[i];

if(count >=n) {

System.out.println(7*(week)+(i+1));

flag=false;

break;

}

i++;

}

week++;

}

}

}

  1. 修建灌木

纯纯模拟训练思维

package daka;

import java.util.*;

/*修建灌木

*

* 模拟每一根灌木,

* 判断它与最右边和最左边与谁的距离最远,

* 生长周期即为最远距离 * 2;(过去最远和从最远回来)

*

*/

public class xiujian {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n =sc.nextInt();

int max = 0;

for(int i=1;i<=n;i++) {

max = Math.max(n-i, i-1);

System.out.println(max * 2);

}

}

}

4.k倍区间

package daka;

import java.util.*;

/*k倍区间

* 给n个数字,求这n个数字构成的连续的子序列中,每个数字的和为k的倍数

* 求共有多少个

*

/*以1,2,3,4,5为例

前缀和sum{1,3,4,10,15} 余数v{1,1,0,0,1}

余数为0的自成一个k倍区间;

余数不为0的前缀和,如果两个前缀和的余数相同,那么它们各自之间的

所有元素相加的和就是一个k倍区间,即它们任意两个数都可以组合一次

*/

public class kbeiqujian {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

int k = sc.nextInt();

int [] a = new int [n];//前缀和

long[] v = new long[200000];//余数数列

long sum =0;//记录当前的前缀和

long count =0;//区间数

for(int i=0;i<n;i++) {

a[i] = sc.nextInt();

sum +=a[i];

v[(int)(sum % k)]++;//将余数相同的元素放在一起

}

sc.close();

//余数为0的元素自己为一个k倍区间

count = count +v[0];

//余数相同的情况

for(int i=0;i<k;i++) {

count +=(v[i] * (v[i]-1)) /2;

}

System.out.println(count);

}

}

5.不会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

螺上螺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值