二进制的魅力 | 计算数字中二进制1的个数

数字的多元应用领域:解密二进制、八进制、十进制和十六进制的魅力 二进制、八进制、十进制和十六进制在不同领域的应用展示了数字进制的多样性和灵活性。无论是为计算机提供高效的数据处理,还是满足人类对数值直观感知的需求,无处不体现着数字进制的魅力。精通不同进制的应用,将助您在数字时代中把握更多机遇和挑战。 阅读详情

算法问题:给出一个十进制整数,计算其对应二进制的1的数量?

看到这道题我最早想到的一种办法就是用字符串去解决,先将整数转换为二进制字符后,然后统计每一位1的数量,最终得出结果,代码如下:

public class Main {
	public static void main(String[] args) {
		int n=4;
		int count=0;
		
		String str = Integer.toBinaryString(4);
		char[] array = str.toCharArray();
		for(int i=0;i<array.length;i++) {
			if(array[i]=='1')
				count++;
		}
		System.out.println(count);
    }
}

虽然可以解决燃眉之急,但是可以分析一下算法的复杂度:需要转换二进制 O(n)复杂度,循环遍历字符数组 O(n),而且字符串处理是比较费时的,所以使用了字符数组去解决,但是整体还是速度不快。

下面介绍几种二进制的位运算来解决这个问题,速度飞快。

 

No.1

算法思想:对目标数字对应二进制进行逐位探测,判断该位是否为1,主要用到的就是按位与操作符(&)和左移运算符(<<)

 

public class Main {
    public static void main(String[] args) {
        int n=4;
        int count=0;

        for(int i=0;i<32;i++) {
            if((n&(1<<i))==(1<<i)) {
                count++;
            }
        }
        System.out.println(count);
    }
}

No.2

算法思想:探测目标数字的对应的二进制最低位是否为1,探测一位后目标数字右移一位,继续探测,直到探测到最后一位。

public class Main {
    public static void main(String[] args) {
        int n=4;
        int count=0;

        for(int i=0;i<32;i++) {
            if((n&(1<<i))==(1<<i)) {
                count++;
            }
        }
        System.out.println(count);
    }
}

No.3

算法思想:先举个例子,模拟一下运行:

(20)=10100

(19)=10011

20&19=10000

计数器+1

下次就是

(16)=10000

(15)=01111

16&15=00000

计数器+1

因目标数为0,所以退出,得到结果。

就是利用二进制数字的特点。一个数字和这个数字减一会抵消到低位的一个1,数值也会慢慢变小,当数字变为0时,那么意味着所有的1都被抵消掉了,那么答案也就出来了,这种思想有点难理解,建议看看代码,手工计算一遍,找找规律。

public class Main {
    public static void main(String[] args) {
        int n=4;
        int count=0;

        while(n!=0) {
        n=(n&(n-1));
            count++;
        }
        System.out.println(count);
    }
}

 

CCF-GESP C++五级考试精讲:二进制数字和的奇偶性判定与高效计算 本文深入解析CCF-GESP C++五级考试中关于二进制数字和奇偶性判定的核心算法。针对大数据范围(如10亿),详细对比了暴力枚举、递归分治与数位动态规划三种方法,重点阐述了如何利用二进制数的数学性质实现高效计算,帮助考生掌握从基础模拟到满分算法的进阶思路。 阅读详情

相关推荐

10、计算机其实很笨,只认识数字0和1

其实说到计算机,我更愿意称之为电脑,因为我总觉得说计算机好像是在说计算器一样~不知道你有没有这样的感觉~ 那么谈到0和1,就不得不说一个很重要的数字表示系统,那就是二进制了,对于二进制来说,它是一个非常非常重要的知识,比如有以下两句很基础但是很重要的表述: 我们看到的很多东西,其实最终都要被转换成二进制的形式才能被计算机识别 任何数据都是以二进制的形式存在于计算机当中 由此可见,二进制的地位很不一般~ 什么是二进制,简单来说就是0和1组成的数字,很多人在学习二进制的时候都会或多或少觉得不好记忆和理解

庆哥Java的优快云技术博客 805

Java学习历程(一)

记录一些在学习过程中编写的一些代码 方便以后需要使用的时候查询 1.判断是否能够成三角形 package Exam; import java.util.Scanner; public class Q1 { public static void main(String args[]) { double a,b,c; Scanner scanner=new Scanner(System....

single_gin的博客 1258

1-999中能被3整除,且至少有一位数字是5的所有整数

1-999中能被3整除,且至少有一位数字是5的所有整数,经典例题

【Java练习】输出1-500之间能被5整除的数,并且每行输出3个

输出1-1000之间能被5整除的数,并且每行输出3个。

m0_73556595的博客 1159

UEC++ 虚幻5笔记(数字孪生示例) day13

文件读取与写入,数字孪生入门制作

qq_44924388的博客 3844

logisim实验六:MIPS运算器设计

实验目的 学生理解算术逻辑运算单元(ALU)的基本构成,掌握 Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的 32 位加法器、 Logisim 中的运算组件构造指定规格的 ALU 单元。 设计要求 利用前面实验封装好的 32 位加法器以及 logisim 平台中现有运算部件构建一个 32 位算术逻辑运算单元(禁用 Logisim 系统自带的加法器,减法器),可支持算术加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移、算术右移运算,支持常用程序状态标志(有符号

gyp0205的博客 2万+

JS输出从1到100之间所有不能被3整除的数;并输出这些整数的和

代码图: 其中 我用的是for循环语句嵌套的语句。 首先在for语句中给i赋值,并且从1到100逐个循环排查, for(var i=1;i<=100;i++){ } 然后在if语句中加入关于被三整除的判断,若判断到则输出 if(i%3!=0){ document.write(i) } 给a赋值为0,并且让其在if语句中作为1到100之间所有不能被3整除的数的和 a+=i; 最后在if...

qq_43251228的博客 1万+

Windows显卡TDR超时导致Unity崩溃?手把手教你修改注册表延长响应时间

本文详细解析了Windows显卡TDR超时导致Unity崩溃的问题,并提供了修改注册表延长响应时间的完整解决方案。通过调整TdrDelay和TdrDdiDelay键值,开发者可以有效避免D3D11设备丢失错误,提升Unity编辑器的稳定性。文章还包含显卡驱动优化、系统性能调优等实用技巧,帮助开发者彻底解决编辑器崩溃问题。

weixin_33737774的博客 625

位运算的之美(合集)

题目一 一个数组里除了某-一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。 暴力思路:使用Map记录数字出现的数量,最后找出出现一次的。 巧妙思路:使用异或符号(^),异或符号为不进位加法,两个相同的数字异或为0,所以可以利用这个性质将所有数字异或一遍,最终的就是答案答案。 public static void main(String[] args) { ...

cong____cong的博客 188

卡方检验的隐藏逻辑:为什么正态分布的平方和如此重要?

本文深入探讨了卡方检验的核心逻辑,揭示了正态分布平方和在统计检验中的重要性。通过分析卡方分布与伽马分布的关系,以及实际应用案例,帮助读者理解卡方检验的原理、局限及高级应用场景,为数据分析提供有力工具。

3a9bq4r8t2y的博客 208

数据分析—用户行为数据分析

一般价值用户(R高F高M低):用户处于购买活跃期,感兴趣的商品多,购买次数少 → 针对该部分客户,目的就是要让他们购买,所以可以和运营部门沟通,降低利润,给出有力折扣促进购买,进而转为重要价值用户。重要价值用户(R高F高M高)维护:用户处于购买活跃期,感兴趣的商品多,购买次数也多 → 针对兴趣产品,保持一定频率的触达,持续维护。

m0_74091312的博客 1420

(最全解法)输入一个整数,输出该数二进制表示中1的个数。

题目:请实现一个函数,输入一个整数,输出该整数二进制表示中1的个数。 例如:把9表示成二进制是1001,有2位是1.所以,如数该函数9,则输出2 解法一 容易造成死循环 思路:先判断该数的二进制表示中最右边是不是1,再把输入的这个整数向右移动一位,此时原来处于右边第二位的数被放在了最右边,在判断是不是1;循环往复,直到输入的数字变为0为止。 如何判断最右边位是不是1,我们把输入的整数与1采用按位...

紫阳战君的博客 8661

【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换

1 坐标系定义及转换   首先介绍一下世界坐标系和相机坐标系之间的转换,它们之间是存在一个转换关系的。现假设空间中一点X,它在相机坐标系下的坐标是Xcamera,在世界坐标系下的坐标是Xworld。假设它通过R和t实现从相机坐标系到世界坐标系之间的转换: Xworld = RXcamera + t   那么,由上式,我们可以推得从世界坐标系向相机坐标系的转换关系(RT=R-1,所以通常直接使用RT即可): Xcamera = RTXworld - RTt   所以,两个坐标系之间的转换,需要看其具体

zeeq的博客 2万+

计算十进制数在二进制中1的个数

O(logn) 的解法: int count = 0; while(n != 0) { if(n % 2 == 1) { count++; } n = n >> 1; } O(n) 的解法: int main() { int n,i; int f[1001]; f[0] = 0; scanf("%d", &n); for(i = 1; i <= n; i++

小飞猪的博客 576

【教程4>第5章>第28节】基于帧同步+相位同步+位同步的QPSK调制解调通信系统整体性能分析

综上所述:1.SNR<10db时,整体性能下降,当SNR=0db时,系统无法正常工作。2.gardner环性能达到2.5e-5时偏可以正常工作,增加之后无法正常工作。3.当相位偏差大于pi/4的时候,对最后的性能会有一定影响。

FPGA/MATLAB学习教程/源码/项目合作开发 556

YOLOv11改进 | 注意力篇 | YOLOv11引入CA注意力机制

摘要:最近关于移动网络设计的研究已经证明了通道注意力(例如,挤压和激励注意力)对于提升模型性能的显着有效性,但它们通常忽略了位置信息,而位置信息对于生成空间选择性注意力图很重要。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的,后期我会根据各种前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~3.2 在Extramodule里创建CA。在CA.py文件里添加给出的CA代码。

tsg6698的博客 2980

二进制的魅力

数字和二进制 古时候,人们常常结绳计数。在计算的世界中,数字就像是绳上的结,对于计算至关重要。 对于计算机存储的所有信息类型,最终都是以数字 0 和 1 的形式存储的。二进制计数就是 0、1 表示的计数方法。 记数系统 先来了解几个概念 基数 : 记数系统的基本数值,规定了这个系统中使用的数字量和数位位置的值。 数位:数字从右至左的排位,也称为位权 比如 123 = 1 * 100 + 2 * 10 + 3 基数就是 10,1 的数位是 2,2 的数位是 1,3 的数位是 0 所有 123 也可

whose book 的博客 398

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【剑指offer刷题】11--按位与--二进制中1的个数

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 简单说明知识点: 1.原码、反码、补码 数字在计算机中是以特定的编码方式存储的,在这里以正数 +1 和负数 -1为例,以8位二进制存储。 原码:+1:0000 0001 -1:1000 0001 符号位加上真值的绝对值,第一位是符号位,0表示正数,1表示负数 反码:+1: 0000 0001 ...

wxq_1993的博客 345

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

探索计算机内部的神秘语言:二进制的魅力

那么,什么是二进制数呢?为了详细说明这个问题,我们先将一个二进制数 00100111 转换为十进制数进行观察。将二进制数转换为十进制数的方法是,直接将各个位置上的值乘以相应的位权,然后相加得到结果。那么,让我们来将上述的二进制数转换为十进制数。根据转换规则,将二进制数 00100111 转换为十进制数,结果为 39。这里的 39 不是由数字 3 和 9 连在一起写成的,而是由 3 乘以位权 10 和 9 乘以位权 1 相加得到的。而这些位权,从高位到低位依次为 7、6、5、4、3、2、1、0。

努力的小雨,一个阳光向上的博客不仅仅给你知识更希望带给你快乐 736

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

二进制中1的个数,解题总结,深入理解整型数据的存储

文章目录我呆头呆脑的方式????: 完全模拟整数到二进制补码的过程大神解锁方式????????????:一切都是位运算从本题中获得的对整型数据存储的深入理解 题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 这是一道并不复杂的,很基础的题。但是通过这道题,我更深刻的了解到了: java对于整型数据的处理。 位运算巧妙。 作为一个编程菜鸟,看题之后,我就知道,利用位运算是最为恰当的方式,但是...

qq_37744360的博客 401

C语言实现计算二进制数字1的个数

#include<stdio.h> #include<stdlib.h> int print_one_bits01(unsigned int value){ //0000 1111 //&0000 ...

weixin_30414155的博客 205

求二进制数中有多少个1

算法函数代码: 1 int bit_count_one(unsigned int n) 2 { 3 n=(n&0X55555555)+((n>>1)&0x55555555); 4 printf("%d\n",n); 5 6 n=(n&0X33333333)+((n>>2)&amp...

aishenyan0793的博客 257

你真的了解操作符的魅力吗

这便是我当初写下的代码,我就简单说一下,就是将数组和数组长度传入定义的函数function上,然后借助两个循环,和第三变量c,将c每次进循环时初始化为0,当循环过程中除本身外还有其他元素跟arr[ i ]相同时,我们就将c赋值为0,只有找到那个单身狗,即没有其它元素和它相同时 ,c==1,然后返回该元素的大小。a^0=a ------------这也很容易想出来呢,只要a的一个bit位为1跟0肯定是相异,所以为1,所以就等于它本身了。,这个操作符,异或操作符有什么作用呢,我们可以用一个口诀来理解。

2302_81249757的博客 1559

数字的奥秘:探索计算机领域的神奇数字

从1和0构建的虚拟世界比我们的日常生活更加庞大复杂。探索这些神奇数字的世界,不仅仅是为了满足好奇心,更是为了发现和创造新技术,解决现实问题。数字在计算机领域的故事还在继续,而我们,正站在一段又一段令人兴奋的旅程的起点上。

liyane的博客 1409
上一篇: 谈谈 Java Virtual Machine 以及 GC
下一篇: 回溯法 | 求解装载问题
楚瑞涛
博客等级 码龄9年 57粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值