最小的数

最小的数

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 29   Accepted Submission(s) : 16

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

Input

本题只有唯一一组测试数据,第一行给出N,q,表示K的个数以及q次询问。1<=N<=1000,q<=10^5.
接下来q行每行一个正整数(64位整数范围内),请判断其对10^9+7取余后,是否在集合K中。

Output

对于每次询问,根据题意输出Yes或No

Sample Input

3 3
2
6
33

Sample Output

Yes
Yes
No

这题并不难,可是一开始的数组被我开太大了,就没反应过来了,用一个 set就过了。
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <cmath>
 5 #include <set>
 6 #include <algorithm>
 7 #define  ll long long int
 8 #define Ma 1000000007
 9 #define N 10005
10 using namespace std;
11 ll prime[N],p[N];
12 int n,m,k=0;
13 set<ll> s;
14 void IsPrime() {
15     memset(prime, 0, sizeof(prime));
16     prime[0] = prime[1] = 1;
17     for (int i = 2; i < N; i++){
18         if (!prime[i]) {
19             p[++k] = i;
20             for (int j = 2; j * i < N; j++)
21                 prime[i * j] = 1;
22         }
23     }
24 }
25
26 int main(){
27
28     scanf("%d%d",&n,&m);
29     IsPrime();
30     for(int i=1;i<=n;i++){
31         ll ans=1;
32         for(int j=1;j<=i;j++){
33             ans=p[j]*ans%Ma;
34         }
35         s.insert(ans);
36     }
37     while(m--){
38      ll h;
39         scanf("%lld",&h);
40
41         if(s.count(h)){
42             printf("Yes\n");
43         }else{
44             printf("No\n");
45         }
46     }
47     return 0;
48 }
				
时间: 2024-10-18 08:30:59

最小的数的相关文章

百度:求绝对值最小的数

我只是从网上搜集的,下面的代码或许有错误. 看了会Hadoop,和传华聊了会,他说,他们那三等奖8000,:打算要回宿舍了,不经意间看到了这个题,貌似简单,其实还是比较有难度的. 一段时间只能干一件事就行了. 有一个已经排序的数组(升序),数组中可能有正数.负数或0,求数组中元素的绝对值最小的数,要求,不能用顺序比较的方法(复杂度需要小于O(n)),可以使用任何语言实现,例如,数组{-20,-13,-4, 6, 77,200} ,绝对值最小的是-4. 算法实现的基本思路:找到负数和正数的分界点,

编程算法 - 把数组排成最小的数 代码(C)

把数组排成最小的数 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个正整数数组, 把数组里所有数字拼接起来排成一个数, 打印能拼接出的所有数字中最小的一个. 大数转换为字符串, 重载快速排序的比较方法, 进行排序, 最后拼接. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdi

51Nod - 1097 拼成最小的数

51Nod - 1097 拼成最小的数 设有n个正整数,将它们联接成一排,组成一个最小的多位整数. 例如: n=2时,2个整数32,321连接成的最小整数为:32132, n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355 Input 第1行:1个数N.(2 <= N <= 10000) 第2 - N + 1行:每行1个正整数.(1 <= A[i] <= 10^9) Output 输出拼在一起的最小整数.由于数据量太大,请以1000个字符为单位,输

Min Number 贪心,把最小的数放在最前

题目链接 Problem 2111 Min Number Accept: 499    Submit: 949 Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description Now you are given one non-negative integer n in 10-base notation, it will only contain digits ('0'-'9'). You are allowed to c

剑指OFFER之把数组排成最小的数(九度OJ1504)

题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 输入: 输入可能包含多个测试样例.对于每个测试案例,输入的第一行为一个整数m (1<=m <=100)代表输入的正整数的个数.输入的第二行包括m个正整数,其中每个正整数不超过10000000. 输出: 对应每个测试案例,输出m个数字能排成的最小数字. 样例输入: 3 23 13 6 2 23456 56 样

【面试题033】把数组排成最小的数

[面试题033]把数组排成最小的数 题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数, 打印能拼接出的所有数字中最小的一个. 例如输入数组{3, 32, 321},则打印出这3个数字能排成的最小数字321323. 思路一: 最直观的想法是求出所有数字的全排列,然后取最小值即可, 根据排列组合的知识,n个数字总共有n!个排列. 思路二: 找到一个排序规则,数组根据这个规则排序之后能排成一个最小的数字. 给出一个规则,判断给出的两个 数字m和n,判断这两个数那个应该排在前面,而不是仅仅

把数组排成最小的数-剑指Offer

把数组排成最小的数 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路 把两个int类型的数拼起来可能会比较大,溢出,我们可采用字符串来表示,处理大数问题 将数字转化为字符串,然后比较字符串的大小,此处的大小指的是:若str1+str2 > str2+str1,则str1 > str2, 我们需要重新定义一个compare函数 其实最后的连接起来的大小和

找出有序数组中绝对值最小的数

问题: 一个有序数组,值有可能有负值,也有可能没有,现需要找出其中绝对值最小的值. 方法1: 遍历数组,找到绝对值最小值,时间复杂度O(n),n为元素个数. 方法2: 二分查找,因为数组有序,可以利用二分查找,时间复杂度O(logn). 分析步骤: 如果第一个数为正数,说明整个数组没有负数,直接返回第一个数 如果最后一个数为负数,说明整个数组没有正数,直接返回最后一个数 数组元素有正有负,说明绝对值最小的元素肯定在正负数交界处,需要二分查找上场: 如果a[mid]<0,因为数组是升序,说明绝对值

算法题19 把数组排成最小的数

题目 输入一个正整数数组,将他们连接起来排成一个数,输出所有排出的数字中最小的一个.例如:输入数组[32,321],输出所能排出的最小数为:32132.请给出该问题的算法. 分析 对于元素位置排列的问题,如a,b,我们希望找到一种排列规则,来确定我们所要得到的是a,b还是b,a. 题目要求得到所能排出的最小的数,那如a<b,则从常识来看ab<ba.这个比较规则到底正不正确呢?在剑指offer一书中有很好的证明 http://zhedahht.blog.163.com/blog/static/2

最小的数?

Problem DescriptionKiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so kind. Kiki must answer a question, and then the genie will realize one of her dreams.The question is: give you an integer, you are