服了!!!崩溃!!!!
2024-06-28 10:35:14
发布于:广东
49阅读
0回复
0点赞
#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;
flag=true;
memset(a,0,sizeof(a));
int ii=i;
while(ii>0)
{
a[ii%10]++;
if(a[ii%10]>1)
{
break;
flag=false;
}
ii/=10;
}
while(g>0)
{
a[g%10]++;
if(a[g%10]>1)
{
break;
flag=false;
}
g/=10;
}
if(i<10000 or n*i<10000)
{
a[0]++;
}
if(a[0]>1)
{
flag=false;
}
if(flag==true)
{
cout<<n*i<<"/"<<i<<"\n";
pd=true;
}
}
if(pd==false)
{
cout<<"No answer.";
}
}
全部评论 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和我的有区别吗?
2024-06-28 来自 广东
0
这这这么长
2024-06-28 来自 广东
0改了
2024-06-28 来自 广东
0结果输出超限,不知道为什么……
2024-06-28 来自 广东
0人呢!
2024-06-28 来自 广东
0
有帮助,赞一个