第十天了,坚持了1/3天了,加油,总会有好的结果的!!!
裁剪刀
公式:4+(行数-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++;
}
}
}
修建灌木
纯纯模拟训练思维
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.不会
4460

被折叠的 条评论
为什么被折叠?



