• 个人简介

    山哥天天吹牛逼,也不知道牛干错了什么(😭)

    检测键盘

    GetAsyncKeyState()
    

    VK_LEFT
    

    VK_RIGHT
    

    VK_UP
    

    VK_DOWN
    

    时代少年团都这么老了吗👇

    依旧够改不了赤石

    我可不是娇滴滴的女王,我有的是力气和手段

    #include<bits/stdc++.h>
    using namespace std;
    int n;
    int ai[666][888];
    long long sum(int tx,int ty,int cx,int cy){
    	long long b;
    	for(int i=tx;i<=cx;i++){
    		for(int j=ty;j<=cy;j++){
    			b+=ai[i][j];
    		}
    	}
    	return b;
    }
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		for(int i=1;i<=n;i++){
    			cin>>ai[i][j];
    		}
    	}
    	for(int x1=1;x1<=n;x1++){
    		for(int y1=1;y1<=n;y1++){
    			for(int x2=x1+1;x2<=n;x2++){
    				for(int y2=y1+1;y2<=n;y2++){
    					if()
    				}
    			}
    		}
    	}
    	return 0;
    }
    /*
    
    1 0 1 1 1 1
    0 0 1 1 1 1
    1 1 1 1 1 1
    0 0 1 1 1 1
    1 0 1 1 0 1
    1 1 1 0 0 1
    
    */
    

    判断几位数

    int jiweishu(int p1){
    	int w;
        for(int i=0;i<=8;i++){//4
        	w=p1/(pow(10,i));
        	if(w==0){
        		return i;
        		break;
    		}
    	}
    }
    

    回文数

    int jiweishu(int p1){
    	int w;
        
        for(int i=0;i<=8;i++){//4
        	w=p1/(pow(10,i));
        	if(w==0){
        		return i;
        		break;
    		}
    	}
    	
    }
    bool huiwenshu(int n){
        int o=n;
        int q=0;
        int w=jiweishu(n);
        for(int i=1;i<=w;i++){//3
        	q=q*10+n%10;
            n=n/10;
    	}
        if(o==q){
            return true;
        }else{
           	return false;
        }
    }
    

    判断素数

    bool fbq(int k){
    	if(k<2){
    		return 0;
    	}
    	if(k==2){
    		return 1;
    	}
    	for(int i=2;i*i<=k;i++){
    		if(k%i==0){
    			return 0;
    		}
    	}
    	return 1;
    }
    

    10进制转k进制

    string FBQ_p(unsigned long long decimalNum, int k){
        if (decimalNum == 0) {
            return "0";
        }
        string result; 
        bool isNegative = false;
        if (decimalNum < 0) {
            isNegative = true;
            decimalNum = -decimalNum; 
        }
        const char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
        while (decimalNum > 0) {
            int remainder = decimalNum % k; 
            result += digits[remainder];  
            decimalNum = decimalNum / k;  
        }
        if (isNegative) {
            result += '-';
        }
        reverse(result.begin(), result.end());
        return result;
    }
    
    

    k进制转十进制

    unsigned long long FBQ_q(const std::string& kNum, int k) {
    	unsigned long long decimal = 0;
    	unsigned long long startIndex = 0;
    	bool isNegative = false;
    	if (kNum[0] == '-') {
    		isNegative = true;
    		startIndex = 1;
    	}
    	for (unsigned long long i = startIndex; i < kNum.size(); ++i) {
    		char c = kNum[i];
    		unsigned long long digit;
    		if (isdigit(c)) {
    			digit = c - '0';
    		}
    		else if (isalpha(c)) {
    			c = toupper(c);
    			digit = 10 + (c - 'A');
    		}
    		decimal = decimal * k + digit;
    	}
    	if (isNegative) {
    		decimal = -decimal;
    	}
    	return decimal;
    }
    

    高精度辅助代码

    string removeLeadingZeros(string num) {
        int start = 0;
       
        while (start < num.length() && num[start] == '0') {
            start++;
        }
       
        if (start == num.length()) {
            return "0";
        }
        return num.substr(start);
    }
    int compare(string a, string b) {
        a = removeLeadingZeros(a);
        b = removeLeadingZeros(b);
        
        if (a.length() > b.length()) return 1;
        if (a.length() < b.length()) return -1;
        
        for (int i = 0; i < a.length(); i++) {
            if (a[i] > b[i]) return 1;
            if (a[i] < b[i]) return -1;
        }
        return 0;
    }
    

    高精度加

    string add(string a, string b) {
        string res;
        int carry = 0; 
        reverse(a.begin(), a.end());
        reverse(b.begin(), b.end());
        
        int max_len = max(a.length(), b.length());
        for (int i = 0; i < max_len || carry; i++) {
            int digit_a = (i < a.length()) ? (a[i] - '0') : 0;
            int digit_b = (i < b.length()) ? (b[i] - '0') : 0;
            int sum = digit_a + digit_b + carry;
            carry = sum / 10;
            res.push_back((sum % 10) + '0');
        }
        
        reverse(res.begin(), res.end());
        return removeLeadingZeros(res);
    }
    

    高精度减

    string subtract(string a, string b) {
        if (compare(a, b) == 0) {
            return "0";
        }
        string res;
        int borrow = 0; 
        reverse(a.begin(), a.end());
        reverse(b.begin(), b.end());
        int max_len = max(a.length(), b.length());
        for (int i = 0; i < max_len; i++) {
            int digit_a = (i < a.length()) ? (a[i] - '0') : 0;
            int digit_b = (i < b.length()) ? (b[i] - '0') : 0;
            digit_a -= borrow;
            borrow = 0;
            if (digit_a < digit_b) {
                digit_a += 10;
                borrow = 1;
            }
            res.push_back((digit_a - digit_b) + '0');
        }
        reverse(res.begin(), res.end());
        return removeLeadingZeros(res);
    }
    

    高精度乘

    string multiply(string a, string b) {
        a = removeLeadingZeros(a);
        b = removeLeadingZeros(b);
      
        if (a == "0" || b == "0") {
            return "0";
        }
        
        int len_a = a.length(), len_b = b.length();
       
        string res(len_a + len_b, '0');
        
      
        for (int i = len_a - 1; i >= 0; i--) {
            int carry = 0;
            int digit_a = a[i] - '0';
            for (int j = len_b - 1; j >= 0; j--) {
                int digit_b = b[j] - '0';
                int sum = (res[i + j + 1] - '0') + digit_a * digit_b + carry;
                carry = sum / 10;
                res[i + j + 1] = (sum % 10) + '0';
            }
          
            if (carry > 0) {
                res[i] = (res[i] - '0' + carry) + '0';
            }
        }
        
        return removeLeadingZeros(res);
    }
    

    高精度除(要用高精度减)

    string divide(string a, string b) {
        string remainder;
        a = removeLeadingZeros(a);
        b = removeLeadingZeros(b);
      
        if (b == "0") {
            remainder = "";
            return "";
        }
       
        if (compare(a, b) == -1) {
            remainder = a;
            return "0";
        }
        
        string quotient; 
        remainder = "0"; 
        
       
        for (int i = 0; i < a.length(); i++) {
            remainder = remainder + a[i];
            remainder = removeLeadingZeros(remainder);
            int cnt = 0;
        
            while (compare(remainder, b) >= 0) {
                remainder = subtract(remainder, b);
                cnt++;
            }
            quotient.push_back(cnt + '0');
        }
        
        quotient = removeLeadingZeros(quotient);
        remainder = removeLeadingZeros(remainder);
        return quotient;
    }
    
  • 最近活动