优美和:等式两边没有重复数,且包括从0-9的所有数,如26+4987=5013
#include<iostream>
using namespace std;
int f(int a,int b[]){
int x;
while(a>0){
x=a%10;
if(b[x]!=0) return 1;
b[x]=b[x]+1;
a/=10;
}
return 0;
}
int main(){
int i,num[10],a,b,c;
int flag=0,count=0;
for(a=2;a<=98;a++){
for(b=102;b<=9876;b++){
c=a+b;
for(i=0;i<10;i++) num[i]=0;
if(f(a,num)||f(b,num)||f(c,num)) continue;
flag=1;
for(i=0;i<10;i++)
if(num[i]!=1) flag=0;
if(flag==1){
cout<<a<<"+"<<b<<"="<<c<<endl;
count++;
}
}
}
cout<<count;
return 0;
}
本文介绍了一种使用C++编程语言实现优美和等式的算法。优美和等式要求等式两边没有重复数,且包含从0到9的所有数字。通过遍历可能的数字组合并检查每个组合是否满足条件,该算法能够找出所有满足优美和等式的实例。
2060

被折叠的 条评论
为什么被折叠?



