全部评论 7

  • 唉……我真是服了……有人帮我改改吗(或者我到时再重写一个【绝望!】)

    2024-06-27 来自 广东

    1
  • 打那么久,全废了

    2024-06-27 来自 广东

    1
  • 我心态已经炸了

    2024-06-27 来自 广东

    1
  • 各位

    2024-06-27 来自 广东

    1
  • #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n;
    	cin>>n;
    	bool flag=true,pd=false;
    	int a[10];
    	for(int i=1000;i<=99999;i++)
    	{
    		int g=n*i;
            if(g>99999) break;//这个是不超时的关键
    		flag=true;
    		memset(a,0,sizeof(a));
    		int ii=i;
            int j=5;
    		while(j--){//把两个循环合在一起,并且小改一下
    			a[ii%10]++;
                a[g%10]++;
                if(a[ii%10]>1 || a[g%10]>1) {
                    flag=false;
                    break;
                }
    			ii/=10;
                g/=10;
    		}
    		if(flag==true)
    		{
    			printf("%05d / %05d\n",n*i,i);//输出前导0
    			pd=true;
    		}
    	} 
    	if(pd==false)
    	{
    		cout<<"No answer.";
    	}
    }
    

    2024-08-08 来自 江苏

    0
  • #include <bits/stdc++.h>
    using namespace std;
    int a[10];
    int main(){
    	int n;
    	cin>>n;
    	bool flag=true,pd=false;
    	for(int i=1000;i<=99999/n;i++){
    		int g=n*i;
    		if(g<10000) continue;//小于被除数10000就至少有两个0
    		flag=true;
    		memset(a,0,sizeof(a));
    		int ii=i;
    		while(ii>0){
    			a[ii%10]++;
    			if(a[ii%10]>1){
    				flag=false;
    				break;
    			}
    			ii/=10;
    		}
    		while(g>0){
    			a[g%10]++;
    			if(a[g%10]>1){
    				flag=false;
    				break;	
    			}
                g/=10;
    		}
    		if(i<10000) a[0]++;
    		if(a[0]>1) flag=false;
    		if(flag==true){
    			printf("%05d / %05d\n", n*i,i);
    			pd=true;
    		}
    	} 
    	if(pd==false) cout<<"No answer.";
    }
    

    2024-06-28 来自 广东

    0
  • 这这这么长

    2024-06-28 来自 广东

    0
首页