c语言 奥数题目及答案,科学网—C语言做一道小学奥数题 - 康建的博文
见过一道小学奥数题,记得题目是:从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语言做一道小学奥数题 - 康建的博文相关推荐
- c语言 奥数题目及答案,科学网-C语言做一道小学奥数题-康建的博文
见过一道小学奥数题,记得题目是:从5月1日到7月1日数字0-9无重复的时间有多少个?(如0512142804是05月12日14:28:04,其中0.1.4有重复, 0526174839无重复). 大概 ...
- c语言简单编程题目及答案,经典练习C语言编程的题目及答案整理.pdf
. 1.逆序输出正三位数 #include int main() { int input,output= 0; scanf("%d",&input); while(inpu ...
- 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)
接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...
- c语言sort函数_C语言经典面试题目及答案详解(二)
接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include 2. ...
- 天津理工大学c语言上机题库,天津理工大学C语言上机报告题目加答案.doc
天津理工大学C语言上机报告题目加答案 实验五 (2009-9-24) 实验名称: 数组. 实验目的: 掌握C语言中一维数组.二维数组的定义方法: 掌握字符数组与常用字符串处理函数的使用: 掌握与数组有 ...
- 天津理工上机c语言报告5,天津理工大学C语言上机报告题目加答案.doc
天津理工大学C语言上机报告题目加答案.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印 ...
- c语言编写加油站课设题目,城市学院c语言实训题目求答案.doc
城市学院c语言实训题目求答案 <C程序设计>题目 任务训练: 剪刀.石头.布游戏 [掌握编程的基本思路与方法.分析数据.算法(操作.控制)] 模拟该游戏的进行.要求有提示信息表征游戏进行和 ...
- 一道小学奥数题的编程解法
一道小学奥数题的编程解法 这是一道小学奥数题,看到这一题后如果只给我笔和纸,我真的无从下手,不知怎么去把这些方框填出来.但借助编程,这道题就非常简单了.直接送上代码. C++程序代码 #include ...
- 一道小学奥数题,没做出来。求解答
一道小学奥数题,没做出来.求解答. 将图形平均分成大小相等,形状相同的四份. 下面是某位高人给出的答案.四种不同颜色分别代表4个不同的部分.怎么说呢,这确实是个答案... 虽然和我们通常认为的答案有些 ...
最新文章
- 最初的梦想,将来的你一定会感谢现在努力的自己
- 医生再添新助手!深度学习诊断传染病 | 完整代码+实操
- java swing 文件选择,设置默认文件选择路径,桌面路径
- 荐读 | 9篇近期社会化推荐论文
- 有趣的开源 AI 换脸工具:faceswap
- Sql高级查询(三)
- 回归_英国酒精和香烟关系
- 外部中断---STM32F1
- POJ2718【DFS】
- word上的花线是什么_微型断路器为什么叫空气开关,学问一大堆,该怎么接
- Java知多少(84)图形界面之布局设计
- msys2编译ffmpeg:ERROR: libx264 not found
- gns3中怎么把服务器虚拟化,GNS3使用详解(gns3如何模拟ids)
- Cow Roller Coaster
- 从机器学习到深度学习
- 用苹果手机做c语言作业,c for ios好用吗,就是苹果手机上的一个C语言编程APP
- 基于.Net Core3.1 与signalR实现一个即时通讯工具(一)
- 怎么用diskgenius扩大c盘,超简单。
- 怎样设置图片大小php,php调整图片大小的方法
- mysql 主键 默认索引_mysql 主键和默认 设为索引的规则