题目

解决代码及点评



/************************************************************************/
/* 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数字变换的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之1038数字验证

          题目 解决代码及点评 /********************************************************************** ...

  2. 基于visual Studio2013解决C语言竞赛题之1084完全平方数

        题目 解决代码及点评 /************************************************************************/ /* ...

  3. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  4. 基于visual Studio2013解决C语言竞赛题之0205位数求和

     题目

  5. 基于visual Studio2013解决C语言竞赛题之0201温度转换

    题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...

  6. 基于visual Studio2013解决C语言竞赛题之0409 100以内素数

       题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...

  7. 基于visual Studio2013解决C语言竞赛题之0408素数

      题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...

  8. 基于visual Studio2013解决C语言竞赛题之0407最大值最小值

      题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...

  9. 基于visual Studio2013解决C语言竞赛题之0406数列求和

      题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...

随机推荐

  1. bootstrap框架开发电子商城案例

    bootstrap框架开发电子商城案例 玛图 bootstrap 商城框架

  2. 基于CAShapeLayer和贝塞尔曲线的圆形进度条动画【装载】

    初次接触CAShapeLayer和贝塞尔曲线,看了下极客学院的视频.对初学者来说感觉还不错.今天来说一个通过CAShapeLayer和贝塞尔曲线搭配的方法,创建的简单的圆形进度条的教程先简单的介绍下C ...

  3. BZOJ 3668: [Noi2014]起床困难综合症( 贪心 )

    之前以为xor,or,and满足结合律...然后连样例都过不了 早上上体育课的时候突然想出来了...直接处理每一位是1,0的最后结果, 然后从高位到低位贪心就可以了... 滚去吃饭了.. ------ ...

  4. mysql版sql助记

    新建用户 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; [host 中 使用 % 为通配符, 匹配任意远程主机] 赋权 GRANT p ...

  5. 树莓派安装ftp服务器

    在树莓派安装ftp服务器,可上载\下载文件 vsftpd是开源的轻量级的常用ftp服务器. 1,安装vsftpd服务器 (约400KB)sudo apt-get install vsftpd 2,启动 ...

  6. excel unixtime与北京时间互转

    unixtime转北京时间,在单元格内输入:=INT((B2-70*365-19)*86400-8*3600)   *.要设置一下单元格格式为y-m-d h:m:s才会正确显示 北京时间转unixti ...

  7. Get与POST的理解

    针对GET& POST的掌握可以说是迷迷糊糊的,今天特意拿出来好好整理一下,便于掌握理解. 在服务器端都有一个用来标识资源位置的符号,被称为统一资源标识(URL). URI有两种形式.分别为U ...

  8. Python 2.7 学习笔记 基本知识

    python是一种解释型的.面向对象的.带有动态语义的高级程序设计语言.本文介绍下python的基本知识. 一.安装 各种操作系统有自己的安装方法,linux系统一般都自带了python的环境.这里不 ...

  9. mysql 创建临时节点

    use ZooKeeper; use AnyEvent; use AE; use Data::Dumper; use IO::Socket; my $zk = ZooKeeper->new(ho ...

  10. Android 文件共享服务器

    http://download.csdn.net/detail/liduanw/6271075 你可以将自己的手机作为(局域网)服务器,  使用方法: 1> 指定共享根目录 2> 点击启动 ...