K倍区间 java蓝桥杯
2018-03-29 10:33
169 查看
标题: k倍区间
给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。
你能求出数列中总共有多少个K倍区间吗?
以下N行每行包含一个整数Ai。(1 <= Ai <= 100000)
例如,
输入:
5 2
1
2
3
4
5
程序应该输出:
6
资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 2000ms
给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。
你能求出数列中总共有多少个K倍区间吗?
输入
第一行包含两个整数N和K。(1 <= N, K <= 100000)以下N行每行包含一个整数Ai。(1 <= Ai <= 100000)
输出
输出一个整数,代表K倍区间的数目。例如,
输入:
5 2
1
2
3
4
5
程序应该输出:
6
资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 2000ms
import java.util.Scanner; public class Ktimes { public static void main(String [] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); int k = in.nextInt(); int i,j; int Ai[] = new int ; int count = 0; int s = 0,t = 0; for(int m=0;m<Ai.length;m++) { Ai[m] = in.nextInt(); } for( i=0;i<N;i++) { s = s +Ai[i]; if(s%k == 0) { count ++; } } System.out.println(count); for(int m=0;m<N;m++) { for(j=m+1;j<N;j++) { t = t+Ai[j]; if(t%k == 0) count++; } t =0; } System.out.println(count); } }
相关文章推荐
- 蓝桥杯java第八届B组:k倍区间
- 第八届蓝桥杯第10题k倍区间
- java蓝桥杯区间K大数
- 蓝桥杯 算法训练 区间k大数查询 JAVA
- 第八届蓝桥杯省赛(K倍区间)
- 蓝桥杯算法训练 ALGO-1 区间k大数查询 Java
- 蓝桥杯:8届10题k倍区间
- 备考蓝桥杯(17)K倍区间 java实现
- 算法-蓝桥杯-算法训练 区间k大数查询(JAVA)
- 算法笔记_079:蓝桥杯练习 区间k大数查询(Java)
- 蓝桥杯java第八届第十题--k倍区间
- 蓝桥杯 区间K大数查询(java题解)
- 蓝桥杯2014年以前JAVA历年真题及答案整理——区间k大数查询
- 2017蓝桥杯B模拟题K倍区间
- 蓝桥杯-区间k大数查询(java)
- JAVA蓝桥杯(6)括号问题
- 蓝桥杯—区间K大数查询(排序,冒泡)
- 第五届蓝桥杯软件类省赛真题-Java高职-奇怪的分式
- 2013年 蓝桥杯预赛 java 本科A 题目
- 带分数(第四届蓝桥杯JavaB组)