首页 > 试题广场 >

1019. 数字黑洞 (20)

[编程题]1019. 数字黑洞 (20)
  • 热度指数:38104 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到
一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。

例如,我们从6767开始,将得到

7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
... ...

现给定任意4位正整数,请编写程序演示到达黑洞的过程。

输入描述:
输入给出一个[1000, 10000)区间内的正整数N。


输出描述:
如果N的4位数字全相等,则在一行内输出“N - N = 0000”;否则将计算的每一步在一行内输出,直到6174作为差出现,输出格式见样例,每行中间没有空行。注意每个数字按4位数格
式输出。
示例1

输入

6767

输出

7766 - 6677 = 1089<br/> 9810 - 0189 = 9621<br/> 9621 - 1269 = 8352<br/> 8532 - 2358 = 6174
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

string m_minus(string a,string b){
    int result;
	result=stoi(a)-stoi(b);
    string temp=to_string(result);
	if(temp.size()<4)
		temp="0"+temp;
	return temp;
}

 int main(){
     string str;
     cin>>str;
     while(str.size()<4)
         str+="0";
     string max=str,min=str;
     sort(min.begin(),min.end());
     sort(max.begin(),max.end());
     reverse(max.begin(),max.end());
     if(max==min)
         cout<<max<<" - "<<max<<" = "<<"0000";
     else {
         while(m_minus(max,min)!="6174"){              
        	 string temp=m_minus(max,min);
         	 cout<<max<<" - "<<min<<" = "<<temp<<endl;
             max=temp,min=temp;
        	 sort(min.begin(),min.end());
     		 sort(max.begin(),max.end());
         	 reverse(max.begin(),max.end());
         }
          cout<<max<<" - "<<min<<" = "<<m_minus(max,min)<<endl;
     }
}

发表于 2015-08-04 14:06:12 回复(7)
s=input()
s+='0'*(4-len(s))
while True:
    b=''.join(sorted(list(s)))
    a=b[::-1]
    s=str(int(a)-int(b)) if int(a)-int(b) else None
    print("{} - {} = {}".format(a,b,s or '0000'))
    if s=='6174' or not s:
        break
9行还有没有更简洁优雅的
编辑于 2018-07-27 22:14:26 回复(4)
import java.util.Scanner;
import java.util.Arrays;
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String num = in.next();
		int result = 0;
		while(result!=6174){
			int left = 0;
			int right = 0;
			char[] temp = creat(num);
			char[] l = new char[4];
			Arrays.sort(temp);
			for(int i = 3;i>=0;i--){
				left = left*10+temp[i]-'0';
				right = right*10+temp[3-i]-'0';
				l[i] = temp[3-i];
			}
			if(left==right){
				System.out.println(new String(l)+" - "+new String(temp)+" = 0000");
				return;
			}
			result = left-right;
			System.out.println(new String(l)+" - "+new String(temp)+" = "+result);
			num = ""+result;
		}
	}
	
	private static char[] creat(String s){
		char[] num = new char[4];
		for(int i = 0;i<num.length;i++){
			if(i>=s.length())
				num[i] = '0';
			else
				num[i] = s.charAt(i);
		}
		return num;
	}
	
}

发表于 2016-06-09 09:41:54 回复(1)
#include <stdio.h>
#include <stdlib.h>
int comp(const void *a,const void *b){
 return *(int*)a-*(int*)b;
}
int main(){
 int num,end,k;
 int r[4];
 int max,min;
 scanf("%d",&num);
 end=0,k=0;
 while(end!=6174&&num!=0){
  r[0]=num%10;
  r[1]=num/10%10;
  r[2]=num/100%10;
  r[3]=num/1000;
  qsort(r,4,sizeof(int),comp);
  max=1000*r[3]+100*r[2]+10*r[1]+r[0];
  min=1000*r[0]+100*r[1]+10*r[2]+r[3];
  end=max-min;
  printf("%04d - %04d = %04d\n",max,min,end);
  num=end;
  k++;
 }
  if(num==0&&k==0){
   printf("0000 - 0000 = 0000\n");
  }
 return 0;
}
简洁明了。

编辑于 2018-02-11 01:08:48 回复(0)
import java.util.Arrays;
import java.util.Scanner;
  
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();
        int[] a=new int[4];
        do {
        	for(int i=0;i<4;i++){
        		a[i]=n%10;
        		n/=10;
        	}
        	Arrays.sort(a);
        	int high=0,low=0;
        	for(int i=0;i<4;i++){//取最大值
        		high+=a[3-i]*Math.pow(10, 3-i);
        	}
        	for(int i=0;i<4;i++){//取最小值
        		low+=a[i]*Math.pow(10, 3-i);
        	}
        	n=high-low;
        	System.out.printf("%04d - %04d = %04d\n",high,low,n);
        	if(n==0){        		
        		return ;
        	}       	
        } while(n!=6174) ;      
    }
}

编辑于 2017-01-14 21:01:59 回复(0)
import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            String str = sc.nextLine();
            int res = Integer.valueOf(str);
            do {
                str = String.valueOf(res);
                while(str.length()<4){
                    str="0"+str;
                }
                int[] nums = new int[4];
                for (int i = 0; i < nums.length; i++) {
                    nums[i] = Integer.valueOf(str.substring(i, i + 1));
                    break;
                }
                Arrays.sort(nums);
                String str1 = "" + nums[0] + nums[1] + nums[2] + nums[3];
                String str2 = "" + nums[3] + nums[2] + nums[1] + nums[0];
                if (str1.equals(str2)) {
                    System.out.println(str1 + " - " + str1 + " = 0000");
                    break;
                }
                res = Integer.valueOf(str2) - Integer.valueOf(str1);
                System.out.println(str2 + " - " + str1 + " = " + res);
            } while (res != 6174);
        }
    }
}
//我的思路是:字符串和整型之间的互转,如果结果小于四位数,例如2111-1112=999,就在前面补0,0999;
//

发表于 2019-08-23 02:15:36 回复(1)
好坑的一道题,题目和测试用例完全对不上,就如题目上所说如果N的四位数字全相等,则输出"N - N =0000",结果呢?测试用例3333怎么回事?
import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int c = n;
        while(true) {
            int a = getUpper(c);//递减排序
            int b = getLowwer(c);//递增排序
            c = a-b;
            if(b==0) {
                //System.out.println("N - N = 0000");
                break;
            }else {
                System.out.println(checkInteger(a)+" - "+checkInteger(b)+" = "+checkInteger(c));
                if(c==6174) {
                    break;
                }
            }
        }
    }
    //输出格式化
    public static String checkInteger(int i) {
        String str = String.valueOf(i);
        while(str.length()<4) {
            str="0"+str;
        }
        return str;
    }
    public static int getLowwer(int i) {
        char[] Lower = String.valueOf(i).toCharArray();
        Arrays.sort(Lower);
        String str = new String();
        for(char s: Lower) {
            str=str+s;
        }
        return Integer.valueOf(str);
    }
    public static int getUpper(int i) {
        String strs = String.valueOf(i);
        while(strs.length()<4) {
            strs=strs+"0";
        }
        char[] iUpper = strs.toCharArray();
        Arrays.sort(iUpper);
        String str = new String();
        for(char s: iUpper) {
            str=s+str;
        }
        return Integer.valueOf(str);
    }
}

发表于 2018-05-04 13:41:16 回复(1)
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;

int main()
{
	int a, b, m[4];
	cin >> a;
	while (a != 6174)
	{
		for (int i = 0; i < 4; i++)
		{
			m[i] = a / pow(10, 3 - i);
			a = a - m[i] * pow(10, 3 - i);
		}
		if (m[0] == m[1] && m[1] == m[2] && m[2] == m[3])
		{
			cout << m[3] << m[2] << m[1] << m[0] << " - " << m[0] << m[1] << m[2] << m[3] << " = 0000" << endl;
			return 0;
		}
		sort(m, m + 4);
		a = m[3] * 1000 + m[2] * 100 + m[1] * 10 + m[0] - (m[0] * 1000 + m[1] * 100 + m[2] * 10 + m[3]);
		cout << m[3] << m[2] << m[1] << m[0] << " - " << m[0] << m[1] << m[2] << m[3] << " = " << a << endl;
	}
	return 0;
}

发表于 2016-03-09 00:59:53 回复(1)
又是我来贴python版的来了
#coding=utf-8
def down(N):
    return "".join(sorted(str(N)))
N=(lambda x,y=lambda a,b:a<1000 and b(a*10,b) or a:y(x,y))(input())
while True:
    ans=int(down(N)[::-1]) -int(down(N))
    print "%04d - %04d = %04d"%(int(down(N)[::-1]),int(down(N)),ans)
    N=ans
    if ans==6174 or ans==0:
        break
欢迎喜欢python的同学关注我哦~~~

编辑于 2016-01-22 14:06:34 回复(2)
我用的比较笨、比较原始的方法

先是写了2个函数f和g,分别用来计算非递增数、非递减数

我个人觉得需要注意的地方如下:

①  那个打印出来是有格式的
%d空格-空格%d空格=空格%d换行
就是这样:7766 - 6677 = 1089
而不是:7766-6677=1089

② 题目有可能只输入一个3位数或者1位、2位的,并不会真的输入4个数
一开始我用getchar,一个个吃进去,再减掉48就可以得到数字,结果被坑了
(提示内存超限,也不知道为啥,应该是时间超限才对把。。- -汗)
后来用的先输入整个数(有可能小于1000),然后再拆成4个
比如80回车,立马拆,0,0,8,0
最后坑我的就是这个地方了
然后再算,就过了

③ 还有就是如果位数不够4位需要补0
比如有个数是123,你应该把它补成0123
这个我用了选择分支结构实现

因为我学的太少了,高级函数啥的都不会用,

算是初学者把,希望我的回答可以帮到大家(就是屏幕前的你了)



代码如下:

#include <stdio.h>

int f(int a,int b,int c,int d)   //非递减数
{
    int k[4],i,temp,j;
    k[0]=a;
    k[1]=b;
    k[2]=c;
    k[3]=d;
    for(i=0;i<3;i++)
    {
        for(j=i+1;j<4;j++)
        {
            if(k[i]<k[j])
            {
                temp=k[j];
                k[j]=k[i];
                k[i]=temp;
            } 
        }
    }
    return k[0]*1000+k[1]*100+k[2]*10+k[3];


int g(int a,int b,int c,int d)   //非递增数
{
    int k[4],i,temp,j;
    k[0]=a;
    k[1]=b;
    k[2]=c;
    k[3]=d;
    for(i=0;i<3;i++)
    {
        for(j=i+1;j<4;j++)
        {
            if(k[i]>k[j])
            {
                temp=k[j];
                k[j]=k[i];
                k[i]=temp;
            } 
        }
    }
    return k[0]*1000+k[1]*100+k[2]*10+k[3];


int main()
{
    int a[4],max,min,i,q,k,j,n;
    
    scanf("%d",&n);
    a[0]=n/1000;
    a[1]=(n/100)%10;
    a[2]=(n/10)%10;
    a[3]=n%10;
    
    k=0;
    for(i=0;i<3;i++)
    {
        for(j=i+1;j<4;j++)
        {
            if(a[i]==a[j])k++;
        }
    }
    
    if(k==6)printf("%d%d%d%d - %d%d%d%d = 0000\n",a[0],a[1],a[2],a[3],a[0],a[1],a[2],a[3]);
    else
    {
        q=0;
        while(q!=6174)
        {
            max=f(a[0],a[1],a[2],a[3]);
            min=g(a[0],a[1],a[2],a[3]);
            q=max-min;
            if(min<1000&&min>=100)printf("%d - 0%d = ",max,min);
            else if(min<100&&min>=10)printf("%d - 00%d = ",max,min);
            else if(min<10&&min>=0)printf("%d - 000%d = ",max,min);
            else printf("%d - %d = ",max,min);
            if(q<1000&&q>=100)printf("0%d\n",q);
            else if(q<100&&q>=10)printf("00%d\n",q);
            else if(q<10&&q>=0)printf("000%d\n",q);
            else printf("%d\n",q);
            a[0]=q/1000;
            a[1]=(q/100)%10;
            a[2]=(q/10)%10;
            a[3]=q%10;
        }
    }
    return 0;
}

编辑于 2018-06-03 18:19:13 回复(4)
#include<iostream>
(720)#include<string>
#include<algorithm>
using namespace std;

int cmp(char a,char b){
	return a>b;
}

int main()
{
	string num;
	cin>>num;
	while(num.length()<4){
	    num="0"+num;
	}
	while(1){
		sort(num.begin(),num.end(),cmp);//降序
		string num1=num;
		sort(num.begin(),num.end());//升序
		string num2=num;
		if(num1==num2){
		    cout<<num1<<" - "<<num2<<" = 0000"<<endl;
			break;
		}
		num=to_string(stoi(num1)-stoi(num2));
		cout<<num1<<" - "<<num2<<" = "<<num<<endl;
		if(num=="6174") break;
	}
	
	return 0;
}
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int main()
{
	string num;
	cin>>num;
	while(num.length()<4){
	    num="0"+num;
	}
	while(1){
        //利用反向迭代器
		sort(num.rbegin(),num.rend());//降序
		string num1=num;
		sort(num.begin(),num.end());//升序
		string num2=num;
		if(num1==num2){
		    cout<<num1<<" - "<<num2<<" = 0000"<<endl;
			break;
		}
		num=to_string(stoi(num1)-stoi(num2));
		cout<<num1<<" - "<<num2<<" = "<<num<<endl;
		if(num=="6174") break;
	}
	
	return 0;
}


编辑于 2020-05-17 10:24:09 回复(0)
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
    int a,b,result;
    char x[5];
    cin>>a;
    while(1)
    {
        for(int i=0;i<4;i++)
        {
            x[i]=a%10+'0';
            a/=10;
        }
        if(x[0]==x[1]&&x[1]==x[2]&&x[2]==x[3])
        {
            printf("%d - %d = 0000\n");
            return 0;
        }
        for(int i=0;i<4;i++){
            for(int j=i+1;j<4;j++){
                if(x[i]<x[j]){
                    char t=x[i];
                    x[i]=x[j];
                    x[j]=t;
                }
            }
        }
        a=0;b=0;
        for(int i=0;i<4;i++) a=a*10+x[i]-'0';
        for(int i=3;i>=0;i--) b=b*10+x[i]-'0';
        result=a-b;
        printf("%04d - %04d = %04d\n",a,b,result);
        if(result==6174) break;
        a=result;
    }
    return 0;
}
编辑于 2020-04-17 20:18:50 回复(0)
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String N = String.format("%04d",sc.nextInt());
        int result = 0;
        boolean flag ;
        do {
            flag = false;
            int a = sort(N, (Character c1, Character c2)->{
                if(c1>c2)
                    return 1;
                return 0;
            });
            int b = sort(N, (Character c1, Character c2)->{
                if(c1<c2)
                    return 1;
                return 0;
            });
            result = a - b;
            System.out.println(String.format("%04d - %04d = %04d",a,b,result));
            N = Integer.toString(result);
            for (int i = 1; i < N.length(); i++)
                if(N.charAt(i)!=N.charAt(0))
                    flag = true;
        }while (result!=6174 && flag);
    }

    private static int sort(String n, Comparator<Character> rull) {
        char[] arr = n.toCharArray();
        for (int i = 1; i < arr.length; i++) {
            for (int j = i; j > 0 && rull.compare(arr[j],arr[j-1])==1; j--) {
                char tmp = arr[j];
                arr[j]=arr[j-1];
                arr[j-1]=tmp;
            }
        }
        return Integer.parseInt(String.valueOf(arr));
    }
}

发表于 2020-04-10 11:48:11 回复(0)
补充前面的答案
1.sort顺序反了
2.没有考虑n = 6174的特例
#include<iostream>
#
include<string>
#include<map>
#
include<algorithm>
using namespace std;

bool cmp(int a, int b) {
    return a>b;
}

int change(int s[]) {
    int n = 0;
    for (int i = 0; i < 4; i++)
    {
        n = n*10+s[i];

    }
    return n;
}

void toarray(int n, int s[]) {
    for (int i = 0; i < 4; i++)
    {
        s[i]=n%10;
        n/=10;
    }
}

int main(){
    int n,a,b,s[5];
    cin>>n;
    do
    {
        toarray(n,s);
        sort(s,s+4,cmp);
        a = change(s);
        sort(s, s+4);
        b = change(s);
        n = a -b;
        printf("%04d - %04d = %04d\n",a,b,n);
    
    } while (n!=0 && n!=6174 );
    return 0;
}

发表于 2020-03-16 18:36:21 回复(0)
#include <iostream>
using namespace std;
int MAX(int n);
int MIN(int n);

int main(){
	int n,max,min;
	cin>>n;
	while(n!=0){
		max=MAX(n);
		min=MIN(max);
		n=max-min;
	//	cout<<max<<" - "<<min<<" = "<<n<<endl;
		 printf("%04d - %04d = %04d\n",max,min,n);
		if(n==6174)
		break;
	}
	return 0;
} 

int MAX(int n){
	int m[4]={n/1000, n%1000/100, n%100/10, n%10};
	int i,j,tmp;
	for(i=0;i<3;i++){
		for(j=i+1;j<4;j++){
			if(m[i]<m[j]){
				tmp=m[i];
				m[i]=m[j];
				m[j]=tmp;
			}
		}
	}
	return m[0]*1000+m[1]*100+m[2]*10+m[3];
}

int MIN(int n){
	return (n%10)*1000+(n%100/10)*100+(n%1000/100)*10+n/1000; 
}
用数组存储四位数,Max和Min函数分别求最大,最小,用scanf控制四位数输出
发表于 2020-02-10 12:08:24 回复(0)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<sstream>

using namespace std;

int n,ans=0,max_=0,min_=0,flag=0;
int arr[4]= {0};


int main() {
	cin>>n;
	while(ans!=6174&&n!=0) {
		arr[0]=n/1000;
		arr[1]=n/100%10;
		arr[2]=n/10%10;
		arr[3]=n%10;
		sort(arr,arr+4);
		max_=1000*arr[3]+100*arr[2]+10*arr[1]+arr[0];
		min_=1000*arr[0]+100*arr[1]+10*arr[2]+arr[3];
		ans=max_-min_;
		printf("%04d - %04d = %04d\n",max_,min_,ans);
		n=ans;
		flag++;
	}
	if(n==0&&flag==0) {
		printf("0000 - 0000 = 0000\n");
	}


	return 0;
}

发表于 2020-02-09 00:07:14 回复(0)

要注意个位数前补0,sscanf, sprintf大法好

#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>

#define SEE(x) cout << #x << ":" << x << endl;

using namespace std;

int main() {
    auto func_desc = [](char a, char b)->bool{return a > b;};
    char str_num[5]; scanf("%s", str_num);
    char mid[5];
    int asc, desc, last;
    sscanf(str_num, "%d", &last);
    sprintf(str_num, "%04d", last); // 避免输入3 要转换为0003 后面同理
    last = 0;   // 6174 还是要执行。。。
    while(last != 6174) {
        sort(str_num, str_num+4);
        sscanf(str_num, "%d", &asc);
        sort(str_num, str_num+4, func_desc);
        sscanf(str_num, "%d", &desc);
        last = desc - asc;
        sprintf(str_num, "%04d", last);
        printf("%04d - %04d = %d\n", desc, asc, last);
    }


    return 0;
}
发表于 2020-01-28 19:05:38 回复(0)
这道题依旧是考察int和string转换的一道练手题,次题中要求输入任意一个0-10000的数字然后排序,非递增序列减去非递减序列,如果使用c++的话实际使用了计算时常用的sstream字符输入输出和to_string   的int与string 类型互转,是一道蛮好玩的签到题
#include<iostream>
#include <sstream>
#include<algorithm>
using namespace std;
bool compare(char&a,char&b)
{
    return a>b;
}
int main()
{
    string needNum,tempa,tempb;
    stringstream ss1,ss2;
    int a=0,b=0;
    cin>>needNum;
    while(b-a!=6174)
    {
        int ok=needNum.length();
        for(int i=0;i<4-ok;i++)
        {
            needNum+='0';
        }
        sort(needNum.begin(), needNum.end());
        tempa=needNum;
        ss1.clear();
        ss1<<tempa;
        ss1>>a;
        sort(needNum.begin(), needNum.end(), compare);
        tempb=needNum;
        ss2.clear();
        ss2<<tempb;
        ss2>>b;
        cout<<tempb<<" - "<<tempa<<" = "<<b-a<<endl;
        if(b-a==0)
            break;
        needNum=to_string(b-a);
    }
    
    
}
需要注意的是,一定要考虑到输入字符不足四位时的补0情况
发表于 2020-01-21 09:55:52 回复(0)
#include <stdio.h>
#include <stdlib.h>

int cmp(const void *a, const void *b)
{
	return *(int *)b - *(int *)a;
}

int main()
{
	int i, arr[4], num, num_1, num_2;
	
	scanf("%d", &num);

	do {
		for(i = 0; i < 4; ++i, num /= 10)
			arr[i] = num % 10;

		qsort(arr, 4, sizeof(int), cmp);

		num_1 = (((arr[0] * 10 + arr[1]) * 10) + arr[2]) * 10 + arr[3];
		num_2 = (((arr[3] * 10 + arr[2]) * 10) + arr[1]) * 10 + arr[0];
		printf("%04d - %04d = %04d\n", num_1, num_2, num = num_1 -num_2);
	} while(num != 6174 && num);

	return 0;
}

发表于 2020-01-15 18:34:03 回复(0)
#include<iostream>
#include<algorithm>
using namespace std;
int buf[4]={0};
int arr[100001];
int temp1,temp2,temp;
int z=0;
void de***tion(int num){//拆数字 
    int cnt=0;
    for(int i=0;i<4;i++)buf[i]=0;//缓存数组置0 
    
    do{
        buf[cnt++]=num%10;
        num=num/10; 
    }while(0!=num);
}
int combined(int i,int j,int k,int l){//合数字 
    return i*1000+j*100+k*10+l;
}
void judge(int i,int j,int k,int l){
    temp1=combined(i,j,k, l);
    temp2=combined(l,k,j,i);//合数字 
    temp=temp2-temp1;//降序减升序 
    arr[z]=temp2;
    arr[z+1]=temp1;
    arr[z+2]=temp;//存数组 
    z+=3;
    if(temp==6174){//减出结果返回 
        return ;
    }
    if(temp==0){//减结果为0返回 
        return;
    }else{
        de***tion(temp);
        sort(buf,buf+4);
        judge(buf[0],buf[1],buf[2],buf[3]);
    }
    
}
int main(){
    int num;
    cin>>num;
    de***tion(num);
    sort(buf,buf+4);//升序排序 
    judge(buf[0],buf[1],buf[2],buf[3]);
    for(int j=0;j<z;j+=3){
        if(j!=0)cout<<endl;
//      cout<<arr[j]<<" - "<<arr[j+1]<<" = "<<arr[j+2]<<endl;   
        de***tion(arr[j]);
        cout<<buf[3]<<buf[2]<<buf[1]<<buf[0]<<" - ";
        de***tion(arr[j+1]);
        cout<<buf[3]<<buf[2]<<buf[1]<<buf[0]<<" = ";
        de***tion(arr[j+2]);
        cout<<buf[3]<<buf[2]<<buf[1]<<buf[0];
    }
    return 0;
}




发表于 2019-07-24 12:32:48 回复(0)