Project Euler解题汇总 051 ~ 060

  [color=red]注[/color]:本文代码中会使用[url=http://eastsun.iteye.com/admin/blogs/207614]按字典顺序生成所有的排列[/url]与[url=http://eastsun.iteye.com/admin/blogs/240339]筛法求素数[/url]中介绍的函数。

[url=http://projecteuler.net/index.php?section=problems&id=51]问题51[/url]:[color=orange]Find the smallest prime which, by changing the same part of the number, can form eight different primes.[/color]
[color=red]题目简介[/color]:对于数字56**3(其中*表示占位符),将其中的两个*换成0~9中的数字,产生的10个数字中为素数的有:56003, 56113, 56333, 56443, 56663, 56773, 56993。[color=olive]56003[/color]是这一系列素数中最小的那个。
  现在要求满足下列条件最小的那个素数:该数是由将某个数中的几位(不一定相邻)替换为相同数字而产生的8个素数中的一个。([color=red]注意[/color]:如果被替换的位置中有首位,则不能用0来替换)
[color=red]答  案[/color]:121313
import java.util.Arrays.fill
import eastsun.math.Util._

object Euler051 extends Application {

var pa = getPrimes(1000000).filter{ _ > 100000 }
var bf = new Array[Int](64)
var res = 0
var i = 0
while(res == 0 && i < pa.length){
fill(bf,1)
var j = i + 1
while(res == 0 && j < pa.length){
var pi = pa(i)
var pj = pa(j)
var id = 0
var tg = true
var pie = -1
var pje = -1
do{
id = id<<1
if(pi%10 == pj%10) id = id|1
else if(pie != -1 && (pj%10 != pje || pi%10 != pie)) tg =false
else{
pje = pj%10
pie = pi%10
}
pi = pi/10
pj = pj/10
}while(pi != 0 && tg )
if(tg){
bf(id) += 1
if(bf(id) >= 8 ) res = pa(i)
}
j += 1
}
i += 1
}
println(res)
}



[url=http://projecteuler.net/index.php?section=problems&id=52]问题52[/url]:[color=orange]Find the smallest positive integer, x, such that 2x, 3x, 4x, 5x, and 6x, contain the same digits in some order.[/color]
[color=red]题目简介[/color]:求最小的x,使得x的2倍,3倍,4倍,5倍,6倍都是由相同的数字组成
[color=red]答  案[/color]:142857
PS:对1/7的循环节印象比较深刻,直接就写出来了,果然是对的:-)


[url=http://projecteuler.net/index.php?section=problems&id=53]问题53[/url]:[color=orange]How many values of C(n,r), for 1 ≤ n ≤ 100, exceed one-million?[/color]
[color=red]题目简介[/color]:求组合数C(n,r) (1 ≤ n ≤ 100)中超过1000000的有多少个。
[color=red]答  案[/color]:4075
object Euler053 extends Application {
var buf =new Array[BigInt](101)
var res =0
for(row <- 0 to 100){
var pre =buf(0)
for(col <- 1 to row-1){
var tmp =pre
pre =buf(col)
buf(col) += tmp
if(buf(col)>1000000) res += 1
}
buf(row) =1
}
println(res)
}



[url=http://projecteuler.net/index.php?section=problems&id=54]问题54[/url]:[color=orange]How many hands did player one win in the game of poker?[/color]
[color=red]题目简介[/color]:一个扑克牌游戏,判断提供的数据中玩家1赢的盘数有多少次
[color=red]答  案[/color]:376
import scala.io.Source._
object Euler054 extends Application {
val src = fromFile("poker.txt").getLines
var cnt = 0
src.foreach{ hand =>
val lst = hand.split("\\s").toList
val aPlayer = new CardHand(lst.take(5))
val bPlayer = new CardHand(lst.drop(5))
if(aPlayer > bPlayer) cnt += 1
}
println(cnt)
}

class CardHand(cards:List[String]) extends Ordered[CardHand] {
val map = Map('2'->2,'3'->3,'4'->4,'5'->5,'6'->6,'7'->7,
'8'->8,'9'->9,'T'->10,'J'->11,'Q'->12,'K'->13,'A'->14)
val values = cards.map{c => map(c.first)}.sort{ _ > _ }

def rank :List[Int] = {
val isFlush = cards.forall{ _.last == cards.first.last }
val isStraight = values.zipWithIndex.forall{ case(x,y) => x + y == values.first }
if(isFlush && isStraight) return 9::values
if(isFlush) return 6::values
if(isStraight) return 5::values

val lst = values.map{ v =>(values.filter{ _==v }.size,v) }.removeDuplicates.sort{ _ > _ }
val vst = lst.map{ _._2 }
if(lst.first._1 == 4) return 8::vst
if(lst.first._1 == 3) return if(lst(1)._1 == 2) 7::vst else 4::vst
if(lst.first._1 == 2) return if(lst(1)._1 == 2) 3::vst else 2::vst
1::values
}

def compare(that:CardHand):Int = rank compare that.rank
}



[url=http://projecteuler.net/index.php?section=problems&id=55]问题55[/url]:[color=orange]
How many Lychrel numbers are there below ten-thousand?[/color]
[color=red]题目简介[/color]:首先介绍一个数学名词:[url=http://baike.baidu.com/view/1826440.htm]利克瑞尔数[/url](Lychrel Number):[color=olive]指的是将该数与将该数各数位逆序翻转后形成的新数相加、并将此过程反复迭代后,结果永远无法是一个回文数的自然数。[/color]
  现在已知对于10000以内的自然数,要么能够在50步(指将这个数与其逆序后的数相加的过程)内得到一个回文数;要么该数是一个利克瑞尔数。
  求:10000以内利克瑞尔数的个数
[color=red]答  案[/color]:249
import java.math.BigInteger
object Euler055 extends Application {
var res = 0
for(n <- 1 until 10000){
var b:BigInt = n
var s = b.toString
var r = s.reverse
var k = 0
do{
b = b + BigInt(r)
s = b.toString
r = s.reverse
k += 1
}while(!s.sameElements(r) && k <= 50)
if(k > 50) res += 1
}
println(res)
}



[url=http://projecteuler.net/index.php?section=problems&id=56]问题56[/url]:[color=orange]Considering natural numbers of the form, a^b, finding the maximum digital sum.[/color]
[color=red]题目简介[/color]:记f(x)表示自然数x的各位数字之和,a^b表示a的b次方。对1≤a,b <100,求f(a^b)的最大值。
[color=red]答  案[/color]:972
//Scala
val nums = for(a <- 1 to 100;b <- 1 to 100) yield (a:BigInt).pow(b)
nums.map{ _.toString.foldLeft(0){ _+_-'0' } }.foldLeft(0){ _ max _ }



[url=http://projecteuler.net/index.php?section=problems&id=57]问题57[/url]:[color=orange]Investigate the expansion of the continued fraction for the square root of two.[/color]
[color=red]题目简介[/color]:2的平方根有连分数的表示:√2 = 1 + 1/(2 + 1/(2 + 1/(2 + ... ))) = 1.414213...
  展开其中的前四项为:
[color=olive]1 + 1/2 = 3/2 = 1.5
1 + 1/(2 + 1/2) = 7/5 = 1.4
1 + 1/(2 + 1/(2 + 1/2)) = 17/12 = 1.41666...
1 + 1/(2 + 1/(2 + 1/(2 + 1/2))) = 41/29 = 1.41379...[/color]
  接下来的三项依次为:[color=olive]99/70, 239/169,577/408[/color]
  而第八项是[color=olive]1393/985[/color],注意,这是第一个出现分子位数超过分母位数的项(分子是4位数,而分母是3位数)
  现在要求前1000项中,分子位数比分母位数多的个数。
[color=red]答  案[/color]:153
object Euler057 extends Application {
var res = 0
var a = BigInt(1)
var b = BigInt(1)
for(n <- 1 to 1000){
a = a + b + b
b = a - b
if(a.toString.length > b.toString.length) res += 1
}
println(res)
}



[url=http://projecteuler.net/index.php?section=problems&id=58]问题58[/url]:[color=orange]
Investigate the number of primes that lie on the diagonals of the spiral grid.[/color]
[color=red]题目简介[/color]:将自然数按如下方式逆时针排列:
      [color=red]37[/color] 36 35 34 33 32 [color=red]31[/color]
      38 [color=red]17[/color] 16 15 14 [color=red]13[/color] 30
      39 18 [color=red]05[/color] 04 [color=red]03[/color] 12 29
      40 19 06 01 02 11 28
      41 20 [color=red]07[/color] 08 09 10 27
      42 21 22 23 24 25 26
      [color=red]43[/color] 44 45 46 47 48 49
  其中标红色的表示出现在对角线上且为素数的自然数,注意对角线上一共有13个自然数,其中8个为素数。也就是说素数所占的比例为 8/13 ≈ 62%.
  将上述方阵继续排列下去,求使得对角线上素数比例小于10%的方阵的最小边长。
[color=red]答  案[/color]:26241
object Euler058 extends Application {
var ps:Stream[Int] = Stream.cons(2,
Stream.from(3).filter{ n =>
ps.takeWhile(p => p*p <= n).forall(n%_ !=0)
})
def isPrime(n:Int) = ps.takeWhile{ p => p*p<=n }.forall{ n%_ !=0 }

val rate = 0.1
var count = 1
var primes = 0
var size = 1
var diag = 1
do{
size += 2
for(loop <- 1 to 4){
diag = diag + size -1
if(isPrime(diag)) primes += 1
}
count += 4
}while(primes >= count*rate)
println(size)
}



[url=http://projecteuler.net/index.php?section=problems&id=59]问题59[/url]:[color=orange]
Using a brute force attack, can you decrypt the cipher using XOR encryption?[/color]
[color=red]题目简介[/color]:使用暴力破解一段使用异或方式加密的英文文本。
[color=red]答  案[/color]:107359
import scala.io.Source._
object Euler059 extends Application {
def isLetter(c:Int):Boolean =
" !\"'(),-.0123456789:;?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(c) >= 0

var src = fromFile("cipher1.txt").getLine(1).split(",").map{ _.trim.toInt.toChar }.zipWithIndex
var pw = for(idx <- 0 until 3)
yield 'a'.to('z').find{ c => src.filter{ _._2%3 == idx }.forall{ s => isLetter(s._1^c) } }.get
var sum = src.foldLeft(0){ (n,s) => n + (s._1^pw(s._2%3)) }
println(sum)
}



[url=http://projecteuler.net/index.php?section=problems&id=60]问题60[/url]:[color=orange]Find a set of five primes for which any two primes concatenate to produce another prime.[/color]
[color=red]题目简介[/color]:自然数3, 7, 109, 673有着非常奇特的性质:
   1.它们都是素数
   2.它们任意两个连接而成的数也是素数。比如7与3相连得到73是素数
   3.它们是满足上面两个性质并且使得和最小的一组数
  现在要求5个素数使得其中任意两个连接得到的数也是素数,并且使这5个数之和最小。
  [color=brown]输出这5个数之和[/color]
[color=red]答  案[/color]:26033
import eastsun.math.Util._
import java.util.Arrays.binarySearch

object Euler060 extends Application {
//get primes below 100000000
val primes = getPrimes(100000000)

def isPrime(n:Int) = binarySearch(primes,n) >= 0

//get intersection of la and lb,store in order
def intersect(la:List[Int],lb:List[Int]):List[Int] = {
var lx = la
var ly = lb
var ls:List[Int] = Nil
while(!(lx.isEmpty || ly.isEmpty)){
var ix = lx.head
var iy = ly.head
if(ix >= iy) ly = ly.tail
if(ix <= iy) lx = lx.tail
if(ix == iy) ls = ix::ls
}
ls.reverse
}

def find(ls:List[Int]):Int = {
var min = Integer.MAX_VALUE
def find0(lx:List[Int],sum:Int,depth:Int){
if(lx.size < 4 - depth) return
if(depth == 3) min = primes(lx.first)+ sum
else lx.foreach{ x =>
find0(intersect(lx,items(x)),sum+primes(x),depth+1)
}
}
find0(ls,0,0)
min
}

val size = primes.findIndexOf{ _ >= 10000 }
val items = new Array[List[Int]](size)

for(i <- 0 until size){
var item = List[Int]()
for(j <- i+1 until size){
var a = primes(i)
var b = primes(j)
if(isPrime((a+""+b).toInt) &&
isPrime((b+""+a).toInt) ) item = j::item
}
items(i) = item.reverse
}

var res = Integer.MAX_VALUE
items.zipWithIndex.foreach{ iti =>
var f = find(iti._1)
if(f < Integer.MAX_VALUE && f + primes(iti._2) < res) res = f + primes(iti._2)
}
println(res)
}
project-euler:Project Euler 问题的解决方案(主要使用 Java) #Project Euler 解决方案 一些问题的解决方案。 大多数解决方案都是用Java编写的。 立即下载

相关推荐

euler-java:Java 8 中的 Project Euler 解决方案

欧拉-java Java 8 中的 Project Euler 解决方案

c语言 非利克瑞尔数- 副本

c语言关于回文数的一类的,覅人利克瑞尔-副本的题目

Smile_li_的博客 1272

Project-Euler-solutions-java:我的Java项目Euler解决方案

项目欧拉 我的Java项目Euler解决方案。 提示:如果仅从我的解决方案中复制内容,这将无助于您学习,因此,如果可以的话,请尝试理解代码背后的逻辑。 我了解我的解决方案还有改进的余地,因此,我很乐意收到有关我的代码的任何建议! 快乐的编码:)

神奇的利克瑞尔数:196 【大数加法】【回文数】

微信搜索:编程笔记本 微信搜索:编程笔记本 微信搜索:编程笔记本 点击上方蓝字关注我,我们一起学编程 欢迎小伙伴们分享、转载、私信、赞赏 今天要跟小伙伴们分享神奇的数字:196。 在介绍这个神奇的数字之前,我们先来回顾一下回文数。 回文数:正读与倒读为同一个数字。 譬如,12321 就是一个回文数。 这个神奇的数字就与回文数有关。有人发现,**几乎所有的自然数,将其自身与自身的倒序数相加,再对得到的和重复这一过程,最终总会得到一个回文数。**不同的数字所需要的循环次数不同。 12 只需 1 步即可

qq_42247231的博客 3861

T型三电平关管顺序要求

摘要: T型三电平拓扑中,IGBT关断必须遵循“外管先关、内管后关”的时序,否则易导致器件损坏。正常导通时,外管与内管共同分担电压;正确关断时,外管先关使电流经内管续流至中点,避免电压过冲;若内管先关,电流路径被强制切断,杂散电感引发高压尖峰击穿器件。这一时序本质是为电流提供低应力续流路径,需通过硬件或软件严格保障。

yun0804的博客 2384

C#实战:如何用Bartender 10.1实现动态打印与批量打印(附完整源码)

本文深入探讨了如何在C#项目中高效集成Bartender 10.1,实现企业级的动态打印与批量打印功能。文章提供了从环境配置、COM接口精讲、高可用打印服务类封装,到批量打印性能优化及生产环境部署的全套实战方案与源码,帮助开发者构建健壮、可维护的打印解决方案。

weixin_29290963的博客 437

Project Euler Problem 60 (C++和Python)

Problem 60 : Prime pair sets The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 an...

jiafengfu的优快云博客 450

gesp c++ 八级知识点

gesp c++ 八级知识点

MMD.然大大 2249

最小的利克瑞尔数196

196算法   一个数正读反读都一样,我们就把它叫做“回文数”。随便选一个数,不断加上把它反过来写之后得到的数,直到得出一个回文数为止。例如,所选的数是67,两步就可以得到一个回文数484:   67+76=143   143+341=484   把69变成一个回文数则需要四步:   69+96=165   165+561=726   726+627=1353

ftd 4850

做量化没有实时数据怎么行?我找到一个超级好用的Python库,速度还贼快!

今天咱们介绍了 pytdx 这个神奇的库,重点包括:✅ 安装 pytdx✅ 连接 TDX 服务器✅ 获取实时行情数据✅ 获取 K 线数据✅ 获取分笔成交数据总之,pytdx 是一个速度快、免费、易用的量化利器,适合 A 股量化交易的同学们使用。如果你还在为数据发愁,赶紧试试吧!🚀顺手再看就是对花姐最大的支持,期待你的关注。

奔跑的蜗牛 5733

DDR5 JEDEC标准简析:一次读懂DDR5的核心规范!

JEDEC,全称是,中文名称是「电子元件工程联合委员会」,它是全球权威的存储接口标准制定机构。我们常见的 DDR2、DDR3、DDR4、DDR5 都是它搞出来的。📌 JEDEC 就像存储接口界的“裁判+编剧”——规定谁该怎么跑,怎么演,怎么配合。

weixin_43199439的博客 2576

欧拉计划(project euler)最详细中文题解

欧拉计划是一个在线解题网站,题目以各类数学问题为主,通常需要结合一定的数学与编程知识,写出适当的程序求解问题(详细介绍可以参见我的文章)。相比于力扣等刷题网站,欧拉计划上的题目有着更丰富的知识背景,在解答题目的过程中常能学习新的数学与算法知识,享受解题愉悦的同时也能颇有收获。 在我的解题过程中,我尽量追求对每道题给出最优的解法,然后写文章把我的思路与代码记录下来。在每篇文章中,我首先将题目翻译成了中文,然后给出了我的解题思路和对应的代码,代码可以在这个仓库中找到。希望这些文章能够为大家带来启发,发现更好的

metaquant的博客 6998

深入详解DICOM医学影像定位线相关知识:理解定位线的概念、定位线的作用以及定位线显示和计算原理

深入详解DICOM医学影像定位线相关知识:理解定位线的概念、定位线的作用以及定位线显示和计算原理

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 2053

Project Euler Problem 55

Problem 55If we take 47, reverse and add, 47 + 74 = 121, which is palindromic.Not all numbers produce palindromes so quickly. For example,349 + 943 = 12921292 + 2921 = 42134213 + 3124 = 7337That is, 3...

wxinbeings的博客 361

推免保研夏令营/预推免面试记录—北航网安

链接:https://pan.baidu.com/s/1vkP3EzbVrCc8a7wgQuUZgQ?链接:https://pan.baidu.com/s/1n4EFS2c9WLAfQn91CP4j2g?链接:https://pan.baidu.com/s/1VVNNSfcNDWjXhVhH3MtNjA?上面五个比例基本为:1:5:2:1:1。面试时间:当天上午面试,但是没面完,下午吃了饭之后又继续面试。--来自百度网盘超级会员V5的分享。--来自百度网盘超级会员V5的分享。

admin的博客 3013

PyTorch生成式人工智能(25)——基于Transformer实现机器翻译

不同于循环神经网络 (RNN) 按顺序处理数据,Transformer 以并行的方式处理输入数据(例如句子)。这种并行处理提高了效率,但并未使其能够识别输入的顺序。为了解决这个问题,Transformer 向输入的词嵌入中添加了位置编码。这些位置编码是分配给输入序列中每个位置的独特向量,其维度与输入词嵌入对齐。本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer 模型将英语句子转换为法语,深入理解 Transformer 的架构及自注意力机制的运作方式。

盼小辉丶的博客 2788

C++ 利克瑞尔数

如何利用C++求解利克瑞尔数的代码

qq_64385356的博客 1516

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Project Euler problem 60

呃。 我是硬模拟的。 首先预处理出5W以内的素数 至于为啥是5W, 这个值是自己设定的,太小了肯定出不了结果,太大就比较慢。 然后预处理每个素数和比他大的素数,看能不能共存。  每个素数都有一个vector, 里面存的是比他大的能共存的素数 然后就枚举就行了。。 #include #include #include #include #include #i

水 1498

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Project Euler Problem 60

 Project Euler Problem 60  两种思路都是枚举,不过处理细节有些不同。  假设:题目中描述的关系,我们称之为关系P,两个素数满足关系P。 我们已经生成一个素数表。其中存放着从小到大的很多素数。第一种思路:  1  我们为每一个素数,生成一个链表,链表中从小到大存放与表头元素满足关系P的素数。  2 任何两个链表只要非表头元素部分存在相投元素,那么

O(1) 的小乐 968

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Project Euler:Problem 60 Prime pair sets

The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 and 109, both 7109 and 1097 a

312小公举的专栏 1020

Project Euler Problem 5 (C++和Python代码实现和解析)

Euler Problem 5 : Smallest multiple 2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder. What is the smallest positive number that is evenly divis...

jiafengfu的优快云博客 356

vivado和matlab联合实现FIR滤波器

matlab中产生FIR滤波器和测试数据并导入到FPGA中仿真。 1.生成测试数据。采样率fs=20MHZ,正弦信号f0=1MHZ,f1=4MHZ.matlab代码如下: fs=20e6; f0=1e6; f1=4e6; N=16; t=1/fs:1/fs:1; %s=simout(1:500:length(simout)); s0=sin(2*pi*f0*t); s1=sin(2*pi*...

qian_123456的专栏 2071

UVa 10018 Reverse and Add (数学&利克瑞尔数)

10018 - Reverse and Add Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=959 The Problem The "reverse and

AC,∑ndless 3729

Project Euler解题汇总 013 ~ 022

  [b][color=darkred]前言[/color][/b]:[url=http://projecteuler.net/]Project Euler[/url]是一个很有趣的网站,上面提供了一系列有一定挑战性的数学问题,这些问题如果单凭手工计算做不了几个,但如果使用编程并采用适当的算法就可以解决之。如果你对数学感兴趣并且会编程不妨去试试。   这篇帖子接着[url=http://east...

JavaSxy的专栏 340

微软技术日报 11-09:.NET 8 与 9 明日同时停止支持,注册表编辑器出了 WinUI 3 版

今天这四条消息的共同点是收口。.NET 8 和 9 的支持期到点,注册表编辑器的新界面只放在仓库里给人看,GitHub 把一类危险触发器按住默认,微软在安全报告里把防线从地址黑名单挪到行为。收口并不等于关门。.NET 10 还在支持期里,被按住的触发器可以用策略按文件放回来,实验室里的样例随时可能变成产品。区别在于这些动作要有人签字,不再是默认开着。如果今天只做一件事,去看一眼构建机上的 .NET 版本。明天之后,8 和 9 的漏洞补丁不会再来了。

海盗Sharp的博客 390

微软技术周报 11-02~11-09:VS Code 混装 Claude 与 Codex、EF Core 11 静默改行为、.NET 11 倒计时

11 月 6 日,Power Platform 通过消息中心通知管理员,Copilot Studio、Power Automate 和 Power Apps 里所有跑在 Anthropic Claude、xAI Grok 以及旧版 GPT 上的 prompt,12 月 2 日自动迁移到 GPT-6 系列,档位价格不变,模型选择收窄到一条产品线。效果是这样的:让 Claude 评审一个 Copilot chat 写出的方案,或者把同样的任务交给 Codex,两边并排跑在同一个会话里。更要紧的是下周的时间线。

海盗Sharp的博客 992
上一篇: 筛法求素数
下一篇: 隐式转换:比动态类型更强大?
JavaSxy
博客等级 码龄21年 1粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值