趣味C语言题

时间:2024.5.2

韩信点兵

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候, 为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数: 按从1至5报数,记下最末一个士兵报的数为1;

再按从1至6报数,记下最末一个士兵报的数为5;

再按从1至7报数,记下最末一个士兵报的数为4;

最后按从1至11报数,最末一个士兵报的数为10;

你知道韩信至少有多少兵?(答案:2111)

婚礼上的谎言

三对情侣参加婚礼,三个新郎为A,B,C,三个新娘为X,Y,Z,有人想知道究竟谁和 谁结婚,于是就问新人中的三位,得到如下的提示:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人事后知道他们在开玩笑,说的全是假话,那么究竟谁与谁结婚呢?

魔术师的秘密

在一次晚会上,一位魔术师掏出一叠#9@k牌,取出其中13张黑桃,预先洗好后,把牌面 朝下,对观众说:“我不看牌,只数一数就能知道每张牌是什么?”魔术师口中念一, 将第一张牌翻过来看正好是A;魔术师将黑桃A放到桌上,继续数手里的余牌,第二次数 1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌 子上。第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张牌,正好是黑桃3, 这样依次将13张牌翻出,准确无误。现在的问题是,魔术师手中牌的原始顺序是怎样的?

约瑟夫问题

这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人 就将他扔入大海,如此循环进行直到仅余15个人为止.问怎样排法,才能使每次投入大海的都是非教徒.

求车速

一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859.两小时后里程表上出现了第二个新的对称数.问该车的速度是多少 新的对称数是多少? ABCDE

常胜将军

现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一楰火柴谁输.请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为"常胜将军".

十进制转换成N进制(N=2 8 16 )

定义一个方法Trans(int num, int regx) 实现将一个输入十进制数num转换成 regx 进制

Eg: Trans(100, 16) 表示将 100 转成 16进制数 输出

求100到1000之间有多少个其数字之和为5的整数.

(答案:104,113,122,131,140,203,212,221,230,302,311,320,401,410,500)

打鱼还是晒网scanf(“%d%d%d”,&year ,&month,&day);

中国有句俗语叫"三天打鱼两天晒网".某人从19xx年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是"晒网".

*思考题:请打印出任意年份的日历

*运行结果

Enter year/month/day:1991 10 25

He was fishing at day.

Enter year/month/day:1992 10 25

He was sleeping at day.

Enter year/month/day:1993 10 25

He was sleeping at day.

求具有abcd=(ab+cd)^2性质的四位数

3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身.请求出具有这样性质的全部四位数. *运行结果

There are following numbers with 4 digits satisfied condition: 2025 3025 9801

填数字游戏

已知下面的算式:

ABCD × E

DCBA 计算ABCDE取什么值? Sum

谁在说谎

张三说李四在说谎,李四说王五在说谎,王五说张三和李四都在说谎.现在问:这三人中到底谁说的是真话,谁说的是假话

*运行结果

Zhangsan told a lie (张三说假话)

Lisi told a truch. (李四说真话)

Wangwu told a lie. (王五说假话)

谁是窃贼

公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的.在回答公安人员的问题中:

甲说:"乙没有偷,是丁偷的."

乙说:"我没有偷,是丙便的."

丙说:"甲没有偷,是乙偷的."

丁说:"我没有偷."

请根据这四人的答话判断谁是盗窃者.

*运行结果The thief is B. (乙为窃贱.)

求数字

求出所有可能的以下形式的算式,每个算式中有九个数位,正好用尽1到9这九个数字。

1)○○○+○○○=○○○ (共有168种可能的组合)

2)○×○○○○=○○○○ (共有2种可能的组合)

3)○○×○○○=○○○○ (共有7种可能的组合)

4)○×○○○=○○×○○○ (共有13种可能的组合)

5)○×○○○=○×○○○○ (共有28种可能的组合)

6)○○×○○=○×○○○○ (共有7种可能的组合)

7)○○×○○=○○×○○○ (共有11种可能的组合)

爱因斯坦的数学题

爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶.只有每次跨7阶,最后才正好一阶不剩.请问这条阶梯共有多少阶?119

角谷猜想

猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1.请编程验证.

黑洞数495与6174

黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。

任何一个数字不全相同的三位数,经有限次“重排求差”操作,总会得到495.最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数)

例如,对三位数207:

第1次重排求差得:720-027=693;

第2次重排求差得:963-369=594;

第3次重排求差得:954-459=495;

以后会停留在495这一黑洞数。

如果三位数的3个数字全同,一次转换后即为0.因而,可把0与495一并作为判断条件。试求出任意输入三位数重排求差的过程。

梅森尼数

形如2n-1的素数称为梅森尼数(Mersenne Prime)。例如22-1=3、23-1=7都是梅森尼数。1722年,双目失明的瑞士数学大师欧拉证明了231-1=2147483647是一个素数,堪称当时世界上“以知最大素数”的一个记录。

试求出指数n<20的所有梅森尼数。(答案共7个)

10个小孩分糖果

十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第 六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块.然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数 的人可向老师要一块.问经过这样几次后大家手中的糖的块数一样多 每人各有多少块糖 ?

*运行结果

child

r 1 2 3 4 5 6 7 8 9 10

0 10 2 8 22 16 4 10 6 14 20

1 15 6 5 15 19 10 7 8 10 17

2 17 11 6 11 18 15 9 8 9 14

3 16 15 9 9 15 17 13 9 9 12

4 14 16 13 10 13 17 16 12 10 11

5 13 15 15 12 12 16 17 14 11 11

6 13 15 16 14 12 14 17 16 13 12

7 13 15 16 15 13 13 16 17 15 13

8 14 15 16 16 15 14 15 17 17 15

9 15 15 16 16 16 15 15 17 18 17

10 17 16 16 16 16 16 16 17 18 18

11 18 17 16 16 16 16 16 17 18 18

12 18 18 17 16 16 16 16 17 18 18

13 18 18 18 17 16 16 16 17 18 18

14 18 18 18 18 17 16 16 17 18 18

15 18 18 18 18 18 17 16 17 18 18

16 18 18 18 18 18 18 17 17 18 18

17 18 18 18 18 18 18 18 18 18 18

委派任务

某侦察队接到一项紧急任务,要求在A,B,C,D,E,F六个队员中尽可能多地挑若干人,但有以下限制条件:

1)A和B两人中至少去一人;

2)A和D不能一起去;

3)A,E和F三人中要派两人去;

4)B和C都去或都不去;

5)C和D两人中去一个;

6)若D不去,则E也不去.

问应当让哪几个人去

*运行结果

A will be assigned. (去)

B will be assigned. (去)

C will be assigned. (去)

D will not be assigned. (不去)

E will not be assigned. (不去)

F will be assigned. (去)

哪个大夫哪天值班

医院有A,B,C,D,E,F,G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天.现在已知:

A大夫比C大夫晚一天值班;

D大夫比E大夫晚二天值班;

B大夫比G大夫早三天值班;

F大夫的值班日在B和C大夫的中间,且是星期四;

请确定每天究竟是哪位大夫值班

*运行结果

Doctor E is on duty MONDAY. (星期一:E)

Doctor B is on duty TUESDAY. (星期二:B)

Doctor D is on duty WEDNESDAY. (星期三:D)

Doctor F is on duty THUESDAY. (星期四:F)

Doctor G is on duty FRIDAY. (星期五:G)

Doctor C is on duty SATURDAY. (星期六:C)

Doctor A is on duty SUNDAY. (星期日:A)

谁家孩子跑最慢

张王李三家各有三个小孩.一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得9分,跑第2得8分,依此类推.比赛结 果各家的总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次.已知

获第一名的是李家的孩子,获得第二的是王家的孩子.问 获得最后一名的是谁家的孩子

*运行结果

7 5 3

8 6 1

9 4 2

The last 王.

1~9分成1:2:3的三个3位数

将1到9 这九个数字分成三个3位数,求第一个3位数,正好是第二个3位数的二倍,是第三个3位数的三倍.问应当怎样分法.

*运行结果

No.1:192 384 576

No.2:219 438 657

No.3:273 546 819

No.4:327 654 981

分油趣题

从大容器往外倒一定体积的液体也是中外古代数学家喜爱研究的一类问题,如下面这 道厨师分油的趣题:“有一位厨师要从盛12斤油的桶中倒出6斤油来,可是手边只有盛5 斤油和盛8斤油的两个桶,问如何操作才能将6斤取出来呢?”

拉丁方阵

构造 NXN 阶的拉丁方阵(2<=N<=9),使方阵中的每一行和每一列中数字1到N只出现一次.如N=4时:

1 2 3 4

2 3 4 1

3 4 1 2

4 1 2 3

作业:

1黑与白

有A,B,C,D,E五个人,每人额头上都贴了一张或黑或白的纸条。五人对坐,每 人都可以看到其它人额头上纸条的颜色,但不知道自己额头上纸条的颜色,五人 相互观察后----

A说:“我看见三个人额头上贴白纸条,一人贴黑纸条”

B说:“我看见四人额头上都贴黑纸条。“

C说:“我看见三个人额头上贴黑纸条,一人贴白纸条。”

D说:“我看见四人头上都贴白纸条。”

E什么也没有说。

已经知道额头贴黑纸条的人说的是假话,额头贴白纸条的人说的是真话。问究竟 谁的额头贴白纸条,谁的额头贴黑纸条?

2 要求输入一个数字N,然后打印一个数字绕的圈。

例如:N=3,然后输出:

1 2 3

8 9 4

7 6 5

N=4

1 2 3 4

12 13 14 5

11 16 15 6

10 9 8 7

依次例推。。。

要求用数组和循环实现。

黑与白

有A,B,C,D,E五个人,每人额头上都贴了一张或黑或白的纸条。五人对坐,每

人都可以看到其它人额头上纸条的颜色,但不知道自己额头上纸条的颜色,五人 相互观察后----

A说:“我看见三个人额头上贴白纸条,一人贴黑纸条”

B说:“我看见四人额头上都贴黑纸条。“

C说:“我看见三个人额头上贴黑纸条,一人贴白纸条。”

D说:“我看见四人头上都贴白纸条。”

E什么也没有说。

已经知道额头贴黑纸条的人说的是假话,额头贴白纸条的人说的是真话。问究竟 谁的额头贴白纸条,谁的额头贴黑纸条?

我们用a,b,c,d,e表示每个人额头上所贴纸条的颜色,0代表黑色,1代表白色。

由于暂时无法判定究竟谁说的是真话,因此每个人的话都有对错二种可能。以A说

的话为例:假设A贴的是白纸条,寻么A说实话,有:

a&&b+c+d+e==3

假如A贴的是黑纸条,那么A说假话,有:

!a&&b+c+d+e!=3

因此根据A的回答,可以得到如下结论:

a&&b+c+d+e==3||!a&&b+c+d+e!=3

同样由b,c,d的回答,有如下结论:

b&&a+c+d+e==0||!b&&a+c+d+e!=0

c&&a+b+d+e==1||!c&&a+b+d+e!=1

d&&a+b+c+e==4||!d&&a+b+c+e!=4

与上例一样,让计算机穷举所有可能的情形,代入上述表达式进行推理运算,假如

满足上述表达式为真,说明找到了正确答案。

代码如下:

main()

{

int a,b,c,d,e;

for(a=0;a<=1;a++)

for(b=0;b<=1;b++)

for(c=0;c<=1;c++)

for(d=0;d<=1;d++)

if(a&&b+c+d+e==3||!a&&b+c+d+e!=3)

&&(b&&a+c+d+e==0||!b&&a+c+d+e!=0)

&&(c&&a+b+d+e==1||!c&&a+b+d+e!=1)

&&(d&&a+b+c+e==4||!d&&a+b+c+e!=4))

{ printf("A is pasted %s.\n",a?"white":"black"); printf("B is pasted %s.\n",b?"white":"black"); printf("C is pasted %s.\n",c?"white":"black");

printf("D is pasted %s.\n",d?"white":"black"); printf("E is pasted %s.\n",e?"white":"black"); }

}

魔术师的秘密

在一次晚会上,一位魔术师掏出一叠#9@k牌,取出其中13张黑桃,预先洗好后,把牌面

朝下,对观众说:“我不看牌,只数一数就能知道每张牌是什么?”魔术师口中念一,

将第一张牌翻过来看正好是A;魔术师将黑桃A放到桌上,继续数手里的余牌,第二次数

1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌

子上。第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张牌,正好是黑桃3,

这样依次将13张牌翻出,准确无误。现在的问题是,魔术师手中牌的原始顺序是怎样的?

解决这类问题的要害在于利用倒推的方法推出原来牌的顺序。

假设桌上摆着13个空盒子,编 号为1至13,将黑桃A放入第一个盒子中,从下一个空盒

子开始对空盒子计数,当数到第二个空盒子时,将黑桃2放入空盒子中,然后再从下一个

空盒子开始对空盒子计数。顺序放入3,4,5等,直到全部放入13张牌,注重在计数时要

跳过非空的盒子,只对空盒子计数,最后得到的牌在盒子中的顺序,就是魔术师手中原

来牌的顺序。

计算机就是模拟这种行之有效的倒推方法的。

代码如下:

#include<stdio.h>

int a[14];

main()

{

int i,n,j=1;

printf("The orginal order of cards is:\n");

for(i=1;i<=13;i++) /*i为空盒子的顺号*/

{ n=1;

do

{ if(j>13)j=1;

if(a[j])j++;

else

{ if(n==i)a[j]=i;

j++;

n++;

}while(n<=i);

}

for(i=1;i<=13;i++)

printf("%2d,",a[i]);

}

分油趣题

从大容器往外倒一定体积的液体也是中外古代数学家喜爱研究的一类问题,如下面这

道厨师分油的趣题:“有一位厨师要从盛12斤油的桶中倒出6斤油来,可是手边只有盛5

斤油和盛8斤油的两个桶,问如何操作才能将6斤取出来呢?”

我们首先用字母a,b,c代表12斤桶,8斤桶和5斤捅。规定倒油的顺序为: a->b->c->a

并且必须符合如下规则:

1.b(8斤桶)倒空后才能从a(12斤桶)中取油。

2.c(5斤桶)盛满后才能向a(12斤捅)中倒油。

我们设从a中往b倒油x次,从c往a倒油y次,那么最后a中剩下的油应该为12-

8x+6y斤,按照题意,我们得到如下方程,

12-8x+6y=6:

我们为了得到这个方程的解,应按照上述的倒油规则不断的倒下去,直到a中或b中

油的重量为6斤为止,另外也可以改变倒油的规则,看能否找到最好的倒油步聚。 代码:

#include<stdio.h>

int i;

main()

{ int a,y,z;

printf("Input Full a ,Empty b,c,Get i:"); /*读入3个容器的容量和最后需要的数量*/

scanf("%d%d%d",&a,&y,&z,&i);

getti(a,y,z);

}

getti(int a,int y,int z)

{ int b=0,c=0; /*b,c为二个容器的实际重量*/

printf("a%d b%d c%d\n%4d%4d%4d\n",a,y,z,a,b,c);

while(a!=i||b!=i) /*假如满足要求退出循环*/

{ if(!b) /*假如b为空,从a往b倒油*/

{ a-=y;b=y;

}

else if(c==z)

{ a+=z;c=0 /*假如c已满,从c往a倒油*/

}

else if(b>z-c)

{ b-=(z-c);c=z; /*假如b的重量大于c的剩余重量,倒满c*/ }

else

{ c+=b;b=0; /*否则将b中的油全部倒入c*/

}

printf("%4d%4d%4d\n",a,b,c);

}

}

要求输入一个数字N,然后打印一个数字绕的圈。

例如:N=3,然后输出:

1 2 3

8 9 4

7 6 5

N=4

1 2 3 4

12 13 14 5

11 16 15 6

10 9 8 7

依次例推。。。

要求用数组和循环实现。

分析:螺旋巨阵问题

楼主可以这样去考虑 找出这个数组的规律

思路:

第一:输出第一行的所有列

第二:输出每一行的最后一列

第三:输出每一列的最后一行

第四:输出第一列的所有行

四步做完之后再去考虑它的内向循环 依次减一就可以了

总的循环次数是行或列的一半

因为当 N 是奇数的时候才需要填充 (N/2)+1 次,N是偶数的时候只要填充次,

i是从0开始的,所以不需要等于i <=N/2。

int i,j,n=1,a[N][N];

// 每次顺时针填充一个“口”字型。假设分为X轴Y轴坐标

for (i=0; i <N/2; i++) (N/2)

{

for (j=i; j <N-i; j++) // 往右填充,X保持,Y++ {

a[i][j] = n++;

}

for (j=i+1; j <N-i; j++) // 往下填充,Y保持,X++ {

a[j][N-i-1] = n++;

}

for (j=N-i-2; j> i; j--) // 往左填充,X保持,Y-- {

a[N-i-1][j] = n++;

}

for (j=N-i-1; j> i; j--) // 往上填充,Y保持,X-- {

a[j][i] = n++;

}

}

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

{

printf( "\n\n ");

for(j=0; j <N; j++)

{

printf( "%5d ",a[i][j]);

}

}

谁是贼?

甲说:”乙没有偷,是丁偷的。”B+D=1

乙说:“我没有偷,是丙偷有。”B+C=1

丙说:“甲没有偷,是乙偷的。”A+B=1

丁说:“我没有偷。” A+B+C+D=1

更多相关推荐:
趣味标语

趣味标语比较大众的咱就不说了记下来的都是比较葛的总结归类大体分3种科教兴国的违法乱纪的和计划生育的计划生育类的在浙源至理坑的路上一个小村庄农舍上刷着这样一条标语国家兴旺匹夫有责计划生育丈夫有责在河南的国道上看到...

地税系统趣味运动会宣传标语

全市地税系统趣味运动会宣传标语1共赢健康共享和谐2汇集蓝色欢乐聚力玉龙腾飞3转型振兴齐聚力地税健儿展风采4激情拥抱梦想拼搏铸就辉煌5创新敬业拼搏卓越6和谐地税共创辉煌7快乐来自和谐奇迹源于创造8收获快乐收获健康...

趣味语文知识

趣味语文知识一你能添出下列句子中的敬辞与谦辞吗初次见面说久仰好久不见说别来无恙请人批评说指教求人原谅说见谅求人帮忙说劳驾求给方便说借光麻烦别人说打扰向人祝贺说恭喜求人看稿说斧正求人解答说请教求人指点说赐教托人办...

趣味语文及答案

趣味语文初中语文趣味试题及答案说明本试卷满分100分考试时间为100分钟考试方式为开卷选择题答案要求写在后面的答题卡上写在前面的话亲爱的同学当你接到这份试卷的时候也许还在抱怨吧语文学习本来就枯燥无味还要搞什么语...

六年级趣味语文

趣味语文知识检测题一根据所填的内容填字或词1给时间命名1当天叫当日2换一天叫改日3最近几天叫近日4某一天某日5几天之内不久叫不日6限定的日子叫限日7将来的日子叫来日8明天叫明日9过去的日子叫往日10第二天叫次日...

趣味语文知识竞赛题

趣味语文知识竞赛题一选择题单项选择共80分每小题2分1下列加点的之字应轻读的一个是A曾不能毁山之一毛B吾欲之南海C跳往助之D以我杓油知之2下面选项中津字的意思与其它几个不同类的是A风烟望五津B后遂无问津者C天津...

趣味运动会宣传语

趣味运动春光好文明生科武艺全生物科学与工程学院学生会实践部宣把快乐带回家敬请期待生科趣味运动会生物科学与工程学院学生会实践部宣

初一趣味语文知识竞赛

十八中学初一趣味语文知识竞赛题说明本试卷满分120分考试时间为90分钟答案要求写在后面的答题卡上写在试卷上无效亲爱的同学当你接到这份试卷的时候也许还在抱怨吧语文学习本来就枯燥无味还要搞什么语文知识竞赛真没劲千万...

小升初趣味语文[含答案】_2

趣味语文含答案一一次某位哲学家在演讲台下有位观众问他您认为当今世界最优秀的哲学家是谁这位哲学家不慌不忙地回答说一方面我的谦虚要求我不能说出他是谁另一方面我的诚实又要求我必须说出他是谁我这样说你明白了吗请问这位哲...

生活中的趣味语言现象

生活中的趣味语言现象车后趣味警示语近年来社会整体生活水平的进步和提高促进了交通的便利及发展使得马路越来越宽家庭物质生活水平的提高使得私家车辆越来越多马路上各式各样的车辆让人看得眼花缭乱而车后窗的警示语更加标新立...

趣味运动会

趣味运动会活动策划一活动背景趣味体育运动是一项将传统体育运动的竞技比赛和能引起人兴趣的趣味活动融合形成的一项新兴运动它是介于体育运动及趣味游戏之间的一项趣味竞技相结合的社会运动我们擅于把趣味运动和同学们某方面的...

趣味运动会策划20xx

第五届中国矿业大学北京研究生趣味运动会策划方案中国矿业大学北京研究生会20xx年10月21日趣味运动会策划书一活动名称研究生趣味运动会二活动标语20xx让生命多一些开心让岁月多一些辉煌让人生多一些精彩研究生给力...

趣味标语(10篇)