1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; bool pd(int a[]){ for(int i = 0;i < 10;i++){ if(a[i] > 1){ return false; break; } } if(a[0] != 0){ return false; }else{ return true; } } void chai(int n,int a[]){ while(n != 0){ a[n%10]++; n = n / 10; } } int main(){ int i,j,k; int a[10] = {0}; for(i = 100;i <= 999;i++){ chai(i,a); if(pd(a)){ j = i * 2; k = i * 3; chai(j,a); chai(k,a); if(pd(a)){ cout<<i<<" "<<j<<" "<<k<<endl; } } memset(a,0,sizeof(a)); } }Java :
public class Main { public static void main(String[] args) { int i,j ,k,l,sum; int[] a=new int[10]; for(i=123;3*i<=987;i++) { for(int q=0;q<10;q++) { a[q]=0; } sum=0; // 每次循环重置数组 a[i/100]=1; a[i/10%10]=1; a[i%10]=1; j=i*2; a[j/100]=1; a[j/10%10]=1; a[j%10]=1; k=i*3; a[k/100]=1; a[k/10%10]=1; a[k%10]=1; for(l=1;l<10;l++ ) { sum=sum+a[l]; } if(sum==9&&a[0]==0) { System.out.println(i+" "+j+" "+k); } } } }Python :
a=[] for i in range(123,330): b=2*i c=3*i a=list(str(i)+str(b)+str(c)) f=0 for j in range(9): for k in range(j+1,9): if(a[j]==a[k] or a[j]=="0"): f=1 break if(f==0): print(i,b,c)
- 1
信息
- ID
- 447
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者