zoukankan      html  css  js  c++  java
  • 2017_7台风套题

    传送门

    A.最大的数

    筛质数。

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #define N 20001
    
    int prime[N];
    bool not_prime[N];
    int n, cnt, ans, num;
    
    inline int read()
    {
    	int x = 0, f = 1;
    	char ch = getchar();
    	for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1;
    	for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0';
    	return x * f;
    }
    
    inline void init()
    {
    	int i, j;
    	for(i = 2; i < N; i++)
    		if(!not_prime[i])
    		{
    			prime[++cnt] = i;
    			for(j = i + i; j < N; j += i) not_prime[j] = 1;
    		}
    }
    
    int main()
    {
    	int i, j, a, x;
    	init();
    	n = read();
    	for(i = 1; i <= n; i++)
    	{
    		a = read();
    		x = std::upper_bound(prime + 1, prime + cnt + 1, a) - prime;
    		for(j = x - 1; j >= 1; j--)
    			if(a % prime[j] == 0)
    			{
    				if(prime[j] > num || (prime[j] == num && a > ans))
    				{
    					num = prime[j];
    					ans = a;
    				}
    				break;
    			}
    	}
    	printf("%d
    ", ans);
    	return 0;
    }
    

    B.小红数列

    找找规律。

    #include <cstdio>
    #include <iostream>
    
    int n;
    
    inline int read()
    {
    	int x = 0, f = 1;
    	char ch = getchar();
    	for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1;
    	for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0';
    	return x * f;
    }
    
    int main()
    {
    	n = read();
    	printf("%d
    ", n / 3 * 2 + (n % 3 == 2));
    	return 0;
    }
    

      

     

  • 相关阅读:
    显示内容和隐藏v-show(以及图标的动态展示)
    主表查询子表
    怎么在pda安装apk
    java学习第40天2020/8/14
    Java学习第39天2020/8/13
    java学习第38天2020/8/12
    java学习第37天2020/8/11
    rz
    git tag
    audio vedio 播放
  • 原文地址:https://www.cnblogs.com/zhenghaotian/p/7348731.html
Copyright © 2011-2022 走看看