【编程题目 |100分】数字涂色【2022 Q2 考试题】
时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld
本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,
编码后请点击”保存并调试“按钮进行代码提交。
■ 题目描述
【数字涂色】
疫情过后,希望小学终于又重新开学了,三年二班开学第一天的任务是将后面的黑板报重新制作。
黑板上已经写上了N个正整数,同学们需要给这每个数分别上一种颜色。
为了让黑板报既美观又有学习意义,老师要求同种颜色的所有数都可以被这种颜色中最小的那个数整除。
现在请你帮帮小朋友们,算算最少需要多少种颜色才能给这N个数进行上色。
输入描述
第一行有一个正整数N,其中。
第二行有N个int型数(保证输入数据在[1,100]范围中),表示黑板上各个正整数的值。
输出描述
输出只有一个整数,为最少需要的颜色种数。
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
3
2 4 6
输出
1
说明
所有数都能被2整除
代码实现
C++解法一
#include <bits/stdc++.h> using namespace std; void Split(string input, vector<int> &output, char patten) { string one_word; int j = 0; input += patten; for (int i = 0; i < input.size(); i++) { if (input[i] == patten) { one_word = input.substr(j, i - j); output.push_back(stoi(one_word)); one_word.clear(); j = i + 1; } } }
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看C++解法二
#include<bits/stdc++.h> using namespace std;
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JAVA解法一
import java.util.*; public class Main { static int minType = 0; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int maxLen = Integer.parseInt(scanner.nextLine()); String[] orgStrArr = scanner.nextLine().split("\\s"); List<Integer> list = new ArrayList<>();
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JAVA解法二
import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); Map<Integer, List<Integer>> result = new HashMap<>(); List<Integer> numList = new ArrayList<>(); while (input.hasNext()) { int N = input.nextInt();
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JAVA解法三
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextInt()) { int n = sc.nextInt(); int[] array = new int[n]; for (int i = 0; i < n; i++) { array[i] = sc.nextInt(); }
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JavaScript解法一
let n = Number(readLine()); let numList = readLine().split(" ").map(Number);
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JavaScript解法二
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看Python解法一
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看Python解法二
n = int(input()) nums = list(map(int, input().split()))
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看Python解法三
while 1: try: _ = input() nums = list(map(int, input().split()))
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看