题目: 给定等式 A B C D E 其中每个字母代表一个数字,且不同数字对应不
D F G 同字母。编程求出这些数字并且打出这个数字的
+ D F G 算术计算竖式。
———————
X Y Z D E
C语言答案如下:
#include <stdio.h>
int num[13];
long i,j;
void seperate(int* nums, long abcde, long dfg, long xyzde);
int check(void);
int main()
{
for(i=10234;i<=98765;i++)
{for(j=102;j<=987;j++)
{seperate(num,i,j,i+j*2);
if(check()) goto ok;
}}
ok:
printf(" %d%d%d%d%d\n",num[0],num[1],num[2],num[3],num[4]);
printf(" %d%d%d\n",num[5],num[6],num[7]);
printf(" + %d%d%d\n",num[5],num[6],num[7]);
printf("----------\n");
printf(" %d%d%d%d%d\n",num[8],num[9],num[10],num[11],num[12]);
}
void seperate(int* nums, long abcde, long dfg, long xyzde)
{
long n,p;
n=abcde;
nums[4]=n%10;
n=n/10;
nums[3]=n%10;
n=n/10;
nums[2]=n%10;
n=n/10;
nums[1]=n%10;
n=n/10;
nums[0]=n%10;
n=dfg;
nums[7]=n%10;
n=n/10;
nums[6]=n%10;
n=n/10;
nums[5]=n%10;
n=xyzde;
nums[12]=n%10;
n=n/10;
nums[11]=n%10;
n=n/10;
nums[10]=n%10;
n=n/10;
nums[9]=n%10;
n=n/10;
nums[8]=n%10;
}
int check()
{
int temp[10],m,n;
if(num[0]==num[8]) return 0;
if(num[1]==num[9]) return 0;
if(num[2]==num[10]) return 0;
if(num[3]!=num[11]||num[3]!=num[5]) return 0;
if(num[4]!=num[12]) return 0;
temp[0]=num[0];
temp[1]=num[1];
temp[2]=num[2];
temp[3]=num[3];
temp[4]=num[4];
temp[5]=num[6];
temp[6]=num[7];
temp[7]=num[8];
temp[8]=num[9];
temp[9]=num[10];
for(m=0;m<10;m++)
{
for(n=m+1;n<10;n++)
if(temp[m]==temp[n]) return 0;
}
return 1;
}
执行结果:
29786
850
+ 850
----------
31486
JavaScript 答案如下:
var types = [], explore;
explore = function (s, r) {
var len = s.length, i = 0;
if (len == 0) {
if(r[0]*10000 + r[1]*1000 + r[2]*100 + r[3]*10 + r[4] + r[4]*200 + r[5]*20 + r[6]*2 - r[7] * 10000 - r[8]*1000 - r[9]*100 - r[3]*10 - r[4]) {
}else{
types.push(r.join(''));
}
} else {
for (; i < len; i++) {
explore(s.slice(0, i).concat(s.slice(i + 1)), r.concat(s[i]));
}
}
};
// 执行并打印结果
explore([0,1,2,3,4,5,6,7,8,9], []);
console.log(types);
不明白的地方, 就是红色标注的。 为什么有了这个判断条件,就能输出想要的答案。
去除这个判断, 只能输出一堆数组。
求高人指点呀。
相关推荐
C语言入门C语言入门C语言入门C语言入门C语言入门C语言入门C语言入门
C语言的题库 都是基础级别的 希望对大家有帮助
内含《C语言入门经典》这本书的课后题答案及课本例题的代码
这是c语言的初学者的一些常见的程序试题及详细答案,都已经运行过了,c语言初学者不妨下载看看,肯定有收获的!!!
本文档是C语言入门的基本练习题,适合刚刚学习C语言的人来看。
C语言入门选择题100题
C语言入门语法训练-C题库.rar
c语言入门到精通
一些C语言的练习题,由浅入深,适合于C语言入门
单片机C语言轻松入门.pdf单片机C语言轻松入门.pdf单片机C语言轻松入门.pdf单片机C语言轻松入门.pdf单片机C语言轻松入门.pdf单片机C语言轻松入门.pdf单片机C语言轻松入门.pdf单片机C语言轻松入门.pdf单片机C语言轻松...
C语言新手入门C语言新手入门C语言新手入门C语言新手入门C语言新手入门C语言新手入门C语言新手入门C语言新手入门
很好的题目,附带详解。里面有20道题目,每一道都有详细的说明并有源代码,并且有文档和幻灯片两种格式。
明解C语言第三版入门篇pdf,日本人编写的C语言入门书籍,写得有趣,适合新手看,比大多数不知所云的的C语言书籍人性化许多
C语言入门到精通.pdf
C语言入门习题一百道,每题都有详细代码 例如:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 答main() { int i,j,k; printf("\n"); for(i=1;i;i++) /*以下为三重循环*/ for(j=1;j...
大一的C语言实验题,两道关于循环的题,适合刚刚入门C语言的同学来巩固和学习循环结构while、for如何来写,是很好的练手题
推荐1: 非常适合C语言初学者的入门级教材,同时附带提供100道C语言经典习题,供初学者练习巩固提高。入门教材+经典习题可以说是C语言入门... 提供了趣味C语言程序题供初学者思考提高练习,对编程能力的提高不无裨益。
非常适合C语言初学者的入门级教材,同时附带提供100道C语言经典习题,供初学者练习巩固提高。入门教材+经典习题可以说是C语言入门的倚天屠龙,可以减少C语言学习过程的许多弯路,达到事半功倍的效果,是初学者...
• C语言初学者入门讲座 第一讲 慨述 • C语言初学者入门讲座 第二讲 数据类型(1) • C语言初学者入门讲座 第二讲 数据类型(2) • C语言初学者入门讲座 第二讲 数据类型(3) • C语言初学者入门讲座 第三讲 基础语句 ...
单片机c语言入门 基本基础知识单片机c语言入门.doc单片机c语言入门.doc单片机c语言入门.doc单片机c语言入门.doc