java 美团被7整除,ac

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);

		int n = in.nextInt();

		int[][] arr = new int[7][7];
		int[] count = new int[7];

		for (int i = 0; i < n; i++) {
			int tmp = in.nextInt();
			int yu = tmp % 7;
			arr[yu][getTens(tmp) % 7]++;
			count[yu]++;
		}

		int result = 0;

		for (int i = 0; i < 7; i++) {
			for (int j = 1; j < 7; j++) {
				if(arr[i][j] == 0) {
					continue;
				}
				for (int k = 0; k < 7; k++) {
					if((i + j * k) % 7 == 0) {
						int sum = count[k];
						if(k == i) {
							sum--;
						}
						result += arr[i][j] * sum;
					}
				}
			}
		}
		
		System.out.println(result);
	}

	private static int getTens(int num) {
		int sum = 1;
		while ((num /= 10) != 0) {
			sum++;
		}
		return (int) Math.pow(3, sum);
	}

}
全部评论
说一下思路,用一个二维数组arr[i][j],i代表当前数字对7取余的值,j代表Math.pow(10,当前数字的位数)对7取余的值,arr[i][j]的值代表个数。只考虑将当前数字放到另一个数字之后的情况,设a0在另一个数字后,对其他数字ai,aia0是否能被7整除,由a0对7取余的值加上,ai乘以10再乘以a0位数 对7取余的值,得到的和决定。并且两个数乘积对7取余,等同于两个数分别对7取余再相乘再对7取余
点赞 回复 分享
发布于 2017-09-14 21:51
看下我的哪里问题 作者:牛客806464号 链接:https://www.nowcoder.com/discuss/41800?type=0&order=0&pos=11&page=1 来源:牛客网 Scanner sc=new Scanner(System.in);     while (sc.hasNext()){     int n=sc.nextInt();     String[] a=new String[n];     for (int i = 0; i < a.length; i++) { a[i]=sc.next(); }     List<String> list=new ArrayList<>();     for (int i = 0; i < a.length; i++) { list.add(a[i]); }     for (int i = 0; i < a.length; i++) { for (int j = i+1; j < a.length; j++) { String s1=a[i]+a[j]; list.add(s1); String s2=a[j]+a[i]; list.add(s2); } }     int[] b=new int[list.size()];     for (int i = 0; i < a.length; i++) { b[i]=Integer.parseInt(list.get(i));     }     int sum=0;     for (int i = 0; i < a.length; i++) { if (b[i]%7==0) { sum++; } }     System.out.println(sum);     } 
点赞 回复 分享
发布于 2017-09-14 22:35
NB啊,这是我室友,你就说6不6!
点赞 回复 分享
发布于 2017-09-14 22:32
代码最后一行手误了吧, 应该是: return (int) Math.pow(10, sum); 吧。 原文中3看的我有点懵。
点赞 回复 分享
发布于 2017-09-14 22:32
大佬求思路描述
点赞 回复 分享
发布于 2017-09-14 21:48
能不能描述下题目
点赞 回复 分享
发布于 2017-09-14 21:41
贴代码为什么不能使用编辑器给的代码块格式化一下呢
点赞 回复 分享
发布于 2017-09-14 21:35

相关推荐

Elastic90:公司不要求加班,但 又不允许你准点下班,经典又当又立
点赞 评论 收藏
分享
FieldMatching:看成了猪头顾问,不好意思
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务