这是本人自己写的,根本上来说一定算法的内涵都没有,只是用电脑语言来写的,所以有可能会有错误,要是你查出来了或有更好的,还是你也有好的学习方法请同我一起分享,我们一起进步,,,我的QQ294635879。。CSDN号是mosi1314.请跟我联系,做个朋友啊我会尽快把所有的题全做出来的,,
1. 给定等式 A B C D E 其中每个字母代表一个数字,且不同数字对应不 D F G 同字母。编程求出这些数字并且打出这个数字的 + D F G 算术计算竖式。
───────
X Y Z D E
这题只是普通的加法, G+G+E=E,//GG没有进位 F+F+D=D,//FF有进位, D+D+C=Z//位数发生了改变 A和B都产生了改变,所以应该都要进位,。。。代码是, #include<iostream.h> void main() { int b,i,shu; int ge,shi,bai,qian,wan; int ge1,shi1,bai1; cout<<"用循环举出所有可能的数;"<<endl; for(b=19345;b<20000;b++) { ge=b%10;//分解个位; shi=b%100;//分解十位 shi=(shi-ge)/10; bai=b%1000;//分解百位 bai=(bai-shi)/100; qian=b%10000;//分解千位 wan=(b-qian);//分解W位 qian=(qian-bai)/1000; wan=wan/10000; for(i=150;i<999;i+=10)//保持个位为0;以不用进位, { ge1=i%10; shi1=i%100; bai1=i-shi1; shi1=(shi1-ge1)/10; bai1=bai1/100; } if((shi1+shi1)>10&&(bai1*2+bai)>10) { int ge2,ge3; bai=bai+bai1*2;//这是百位的数要把它分解; ge2=bai%10;//取得个位; ge3=bai-ge2; cout<<bai1<<shi1<<ge1<<endl; cout<<wan+1<<qian+ge3<<bai<<shi<<ge<<endl; } } cin>>shu;//只是方便看数而已没有什么做用的; }