见过一道小学奥数题,记得题目是:从5月1日到7月1日数字0-9无重复的时间有多少个?(如0512142804是05月12日14:28:04,其中0、1、4有重复, 0526174839无重复)。

大概是迎春杯华杯走美杯之一的考题吧,用到排列组合,想半天也不会做,其实我多数题都不会做,但确实有不少小学生能考很高的分数,他们也对奥数题很感兴趣,跟玩似的,不服不行,下棋我也惨败过幼儿园小朋友。

用C语言编程直接穷举找到答案是204个。程序如下:

#include

#include

void main()

{   char a[11];

int p[10],i,c=0;

longt,t1=1398873600,t2=1404143999;

struct tm *l;

for(t=t1;t<=t2;t++){

l=localtime(&t);

sprintf(a,"%0.2d%0.2d%0.2d%0.2d%0.2d",l->tm_mon+1,l->tm_mday,l->tm_hour,l->tm_min,l->tm_sec);

for(i=0;i<=9;i++)

p[i]=0;

for(i=0;i<=9;i++){

p[a[i]-48]=p[a[i]-48]+1;

}

if(p[0]==1&&p[1]==1&&p[2]==1&&p[3]==1&&p[4]==1&&p[5]==1&&p[6]==1&&p[7]==1&&p[8]==1&&p[9]==1)

printf("%d,%s\n",c++,a);

}

}

程序中用到了时间函数,数组p用来检测重复。运行结果如下:

0, 0526173849

1, 0526173948

2, 0526174839

……

47, 0529184736

48, 0617234859

49, 0617234958

……

201, 0629185437

202, 0629185734

203, 0629185743

另外一道相似的题目,出处未知,是列举0-9组成加法式子,程序如下:

#include "stdafx.h"

int fj(int a,int b,int c)

{int f[10],i;

for(i=0;i<=9;i++)f[i]=0;

while(a)

{if(f[a%10])

return0;

else

f[a%10]=1;

a/=10;

}

while(b)

{if(f[b%10])

return0;

else

f[b%10]=1;

b/=10;

}

while(c)

{if(f[c%10])

return0;

else

f[c%10]=1;

c/=10;

}

return 1;

}

void main()

{int x,y,z,j=1,s=0;

for(x=12;x<=98;x++)

for(y=1023;y<=9876;y++)

{z=x+y;

if(fj(x,y,z))

{printf("%d+%d=%d ",x,y,z);++s;

if(!(j%6))printf("\n");j++;

}

}

for(x=102;x<=987;x++)

for(y=102;y<=987;y++)

{z=x+y;

if(z>1023&&fj(x,y,z))

{printf("%d+%d=%d ",x,y,z);++s;

if(!(j%6))printf("\n");j++;

}

}

printf("\n%d\n",s);

}

运行结果:

26+4987=5013   27+4986=5013   34+5978=6012  34+5987=6021   37+5984=6021   38+5974=6012

……

859+347=1206  859+743=1602  874+629=1503  876+429=1305   879+426=1305   879+624=1503

共132个。

转载本文请联系原作者获取授权,同时请注明本文来自康建科学网博客。

链接地址:http://wap.sciencenet.cn/blog-797552-1096586.html

上一篇:分红包的Python算法

下一篇:合并文件的VB及Perl小程序

c语言 奥数题目及答案,科学网—C语言做一道小学奥数题 - 康建的博文相关推荐

  1. c语言 奥数题目及答案,科学网-C语言做一道小学奥数题-康建的博文

    见过一道小学奥数题,记得题目是:从5月1日到7月1日数字0-9无重复的时间有多少个?(如0512142804是05月12日14:28:04,其中0.1.4有重复, 0526174839无重复). 大概 ...

  2. c语言简单编程题目及答案,经典练习C语言编程的题目及答案整理.pdf

    . 1.逆序输出正三位数 #include int main() { int input,output= 0; scanf("%d",&input); while(inpu ...

  3. 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...

  4. c语言sort函数_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include 2. ...

  5. 天津理工大学c语言上机题库,天津理工大学C语言上机报告题目加答案.doc

    天津理工大学C语言上机报告题目加答案 实验五 (2009-9-24) 实验名称: 数组. 实验目的: 掌握C语言中一维数组.二维数组的定义方法: 掌握字符数组与常用字符串处理函数的使用: 掌握与数组有 ...

  6. 天津理工上机c语言报告5,天津理工大学C语言上机报告题目加答案.doc

    天津理工大学C语言上机报告题目加答案.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印 ...

  7. c语言编写加油站课设题目,城市学院c语言实训题目求答案.doc

    城市学院c语言实训题目求答案 <C程序设计>题目 任务训练: 剪刀.石头.布游戏 [掌握编程的基本思路与方法.分析数据.算法(操作.控制)] 模拟该游戏的进行.要求有提示信息表征游戏进行和 ...

  8. 一道小学奥数题的编程解法

    一道小学奥数题的编程解法 这是一道小学奥数题,看到这一题后如果只给我笔和纸,我真的无从下手,不知怎么去把这些方框填出来.但借助编程,这道题就非常简单了.直接送上代码. C++程序代码 #include ...

  9. 一道小学奥数题,没做出来。求解答

    一道小学奥数题,没做出来.求解答. 将图形平均分成大小相等,形状相同的四份. 下面是某位高人给出的答案.四种不同颜色分别代表4个不同的部分.怎么说呢,这确实是个答案... 虽然和我们通常认为的答案有些 ...

最新文章

  1. 最初的梦想,将来的你一定会感谢现在努力的自己
  2. 医生再添新助手!深度学习诊断传染病 | 完整代码+实操
  3. java swing 文件选择,设置默认文件选择路径,桌面路径
  4. 荐读 | 9篇近期社会化推荐论文
  5. 有趣的开源 AI 换脸工具:faceswap
  6. Sql高级查询(三)
  7. 回归_英国酒精和香烟关系
  8. 外部中断---STM32F1
  9. POJ2718【DFS】
  10. word上的花线是什么_微型断路器为什么叫空气开关,学问一大堆,该怎么接
  11. Java知多少(84)图形界面之布局设计
  12. msys2编译ffmpeg:ERROR: libx264 not found
  13. gns3中怎么把服务器虚拟化,GNS3使用详解(gns3如何模拟ids)
  14. Cow Roller Coaster
  15. 从机器学习到深度学习
  16. 用苹果手机做c语言作业,c for ios好用吗,就是苹果手机上的一个C语言编程APP
  17. 基于.Net Core3.1 与signalR实现一个即时通讯工具(一)
  18. 怎么用diskgenius扩大c盘,超简单。
  19. 怎样设置图片大小php,php调整图片大小的方法
  20. mysql 主键 默认索引_mysql 主键和默认 设为索引的规则

热门文章

  1. Javaweb学习笔记(JSP标准标签库)
  2. 真正的偶像创造营来了!
  3. android耳机上报流程,Android系统中耳机按键键值上报不正确 解决过程
  4. 什么是手机的基带电路
  5. 正在准备面试?快来瞧瞧这份Spring面试小抄!Java篇
  6. “并发冲突” 分析与解决
  7. textarea 换行
  8. OpenGL学习笔记——光照(一)
  9. 一个企业级数据挖掘实战项目|教育数据挖掘
  10. 微服务 - 业务服务拆分分析