笔试强训Day12

T1:二进制插入

链接:二进制插入__牛客网 (nowcoder.com)

题目描述:给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。

笔试强训Day12_第1张图片

解法: 

笔试强训Day12_第2张图片 

class BinInsert{
public:
	int binInsert(int n,int m,int j,int i){
		return n|(m<

 

T2:查找组成一个偶数最接近的两个素数

链接:查找组成一个偶数最接近的两个素数__牛客网 (nowcoder.com)

题目描述:

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。

数据范围:输入的数据满足 4≤n≤1000 

笔试强训Day12_第3张图片

笔试强训Day12_第4张图片

数据范围很小,直接暴力模拟

#include
using namespace std;
int n;
bool primes(int x)
{
	for(int i=2;i*i<=x;i++){
		if(x%i==0)return 0;
	}
	return 1;
}
int main()
{
	cin>>n;
	for(int i=n/2;;i--){
		int x=n-i;
		if(primes(i)&&primes(x)){
			cout<

 

 

你可能感兴趣的:(笔试强训,算法,数据结构)