基于visual Studio2013解决C语言竞赛题之1087数字变换
题目
解决代码及点评
/************************************************************************/
/* 87. 在5条直径线的两端分别 9 3
放置1到10的顺序数,如右图所
示。但这样放置法只有一种情 8 4
况,两个相邻数之和等于相对
位置上的两个邻接数之和,即: 7 5
10+1=5+6 6
而 1+2≠6+7
2+3≠7+8
现请你变换一下这些数的位置,使任何两个相邻数之和等于相对位置上的两个邻接数之和,要求找出全部答案。 思路 定一半 则 全定 代码丑陋 但是时间上实际上要比递归快的多 恶心的一点是太硬
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h> void main()
{
for(int i=1;i<11;i++)
{
for (int j=1;j<11;j++)
{ if (i==j)
continue;
for (int k=1;k<11;k++)
{ if (k==i||k==j)
continue;
for (int l=1;l<11;l++)
{
if (l==i||l==j||l==k)
continue;
for (int m=1;m<11;m++)
{
if (m==i||m==j||m==k||m==l)
continue;
for(int n=1;n<11;n++)
{
#pragma region 条件选择
if (n==i||n==j||n==k||n==l||n==m)
continue;
int arr[10]={0};
arr[i-1]=arr[j-1]=arr[k-1]=arr[l-1]=arr[m-1]=arr[n-1]=1;
int num=i+j-n;
if (num>0&&num<11&&arr[num-1]==0)
{
arr[num-1]=1;
}
else
continue;
int num1=j+k-num;
if (num1>0&&num1<11&&arr[num1-1]==0)
{
arr[num1-1]=1;
}
else
continue;
int num2=k+l-num1;
if (num2>0&&num2<11&&arr[num2-1]==0)
{
arr[num2-1]=1;
}
else
continue;
int num3=l+m-num2;
if (num3>0&&num3<11&&arr[num3-1]==0)
{
arr[num3-1]=1;
printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,m,n,num,num1,num2,num3);
}
else
continue;
#pragma endregion 条件选择 }
}
}
}
}
}
system("pause");
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn
基于visual Studio2013解决C语言竞赛题之1087数字变换的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之1038数字验证
题目 解决代码及点评 /********************************************************************** ...
- 基于visual Studio2013解决C语言竞赛题之1084完全平方数
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...
- 基于visual Studio2013解决C语言竞赛题之0205位数求和
题目
- 基于visual Studio2013解决C语言竞赛题之0201温度转换
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...
- 基于visual Studio2013解决C语言竞赛题之0409 100以内素数
题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...
- 基于visual Studio2013解决C语言竞赛题之0408素数
题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...
- 基于visual Studio2013解决C语言竞赛题之0407最大值最小值
题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...
- 基于visual Studio2013解决C语言竞赛题之0406数列求和
题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...
随机推荐
- 平实给力的写作指导入门手冊——leo鉴书57
写作是个体力活儿,须要不断的练习和砥砺.既然是体力劳动,那必定有套路,前人总结.后人学习并加以积累沉积,日久则形成不同的风格和流派有点儿像.相同,写作也有自己的套路和学习路径.初涉写作有必备之书吗?当 ...
- memset函数的使用
void *memset(void *s, int ch, size_t n); 说明:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 关于mem ...
- [Swust OJ 1084]--Mzx0821月赛系列之情书(双线程dp)
题目链接:http://acm.swust.edu.cn/problem/1084/ Time limit(ms): 1000 Memory limit(kb): 65535 Descriptio ...
- BZOJ 1742: [Usaco2005 nov]Grazing on the Run 边跑边吃草( dp )
dp... dp( l , r , k ) , 表示 吃了[ l , r ] 的草 , k = 1 表示最后在 r 处 , k = 0 表示最后在 l 处 . ------------------- ...
- ZOJ 2853 Evolution 【简单矩阵快速幂】
这道题目第二次看的时候才彻底理解了是什么意思 把题目转化为数学模型分析后就是 有一个初始序列, 有一个进化率矩阵 求的是初始序列 与进化率矩阵进行 m 次运算后, 初始序列最后一位的答案 那么显然,可 ...
- 【转】Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题
原文见:http://www.cnblogs.com/xiangwengao/archive/2012/03/16/2399888.html 问题 给一个程序添加小功能,在debug下能正常运行,在r ...
- C# MVC 自学笔记—4 添加视图
==============================翻译============================== 在本节中,你将要修改 HelloWorldController 类,以便使 ...
- 设计模式(七)组合模式Composite(结构型)
设计模式(七)组合模式Composite(结构型) 1. 概述 在数据结构里面,树结构是很重要,我们可以把树的结构应用到设计模式里面. 例子1:就是多级树形菜单. 例子2:文件和文件夹目录 2.问题 ...
- OGR SQL (GEOM)
The OGRDataSource supports executing commands against a datasource via the OGRDataSource::ExecuteSQL ...
- java邮件小实例
新建一个包,名为mail 第一个类:MailSenderInfo.java ########################################### package com.util. ...