摘要: 题目:有这样一个包含9个圆圈的数阵,如下图所示:外层8个圈,内层一个圈;将1~8这8个数随机的填写到该数阵的外层的圆圈中,只剩下中间的一个空圆圈。规定每个数字只能按照数阵中的直线从一个圆圈移动到另一个空的圆圈中。通过若干步骤移动,要求将数阵中的数字移动成下图所示状态:【样例】输入:[1]—[2]—[4] | \ | / | [8]—[ ]—[3] | /| \ | [7]--[5]--[6]输出: 3#——》0# 4#——》3# 0#——》4# 5#——》0# 6#——》5# 0#——》6#[1]—[2]—[3] | \ | / |[8]-- [ ]--[4]| /| \ |[7]-... 阅读全文
posted @ 2011-08-22 22:16 新技术 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 方法:这里用了数据结构栈,实际上栈更方便实现高精度加法。步骤:1、第一个数据加数按输入顺序(高位到低位)入栈1。此时栈顶为最低位 2、‍第二个数据加数按输入顺序(高位到低位)入栈2。此时栈顶为最低位 3、将栈1、栈2均pop出栈顶做加法,并考虑进位,结果入栈3,这时栈3正好是低位入栈。 4、处理多余的栈1、栈2。 5、直接pop出栈3,即正好的从高位到低位的结果。完整的实现代码如下:#include "iostream"#include "stack"using namespace std;stack<int>s1;stack<int& 阅读全文
posted @ 2011-08-22 16:54 新技术 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 输入一个正整数N(N最大是4位数),输出它的英文表达。 【样例】输入:1输出:one又输入:12输出:twelve右输入:135输出:one hundred thirty five 思路:1、首先19以内的数字,可以直接输出。。2、20~~~99以内的数字,整十的整数可以直接输出。否则,除以10输出十位数字,与10取模输出个位数字。3、100~~~999以内的数字,除以100输出百位数字,与100取模得到一个两位的数字,转到24、1000~~~9999以内的数字,除以1000输出千位数字,与1000取模得到一个三位的数字,转到3完整的实现代码如下:#include "i 阅读全文
posted @ 2011-08-22 16:17 新技术 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 对于任意给定的n值(n为整数,且1<=n<=100),计算并显示n!(阶乘)的值。 【样例】输入:n= 10输出: 3628800又输入:n= 20输出: 2432902008176640000使用整型数组来存储大数类的每一位,并模拟手工乘法的全过程。。#include "stdio.h"#include "stdlib.h"const unsigned int MAX = 10000; //整型数组的最大长度 const long long WIDTHMAX = 1000000000; //整型数组val[MAX]的元素上限 阅读全文
posted @ 2011-08-22 15:51 新技术 阅读(727) 评论(0) 推荐(0) 编辑