c语言-猜生日算法

#include<stdio.h>
int main()
{
int a1[6]={1,3,5,7,9,11};
int a2[6]={2,3,6,7,10,11};
int a3[6]={4,5,6,7,12,0};
int a4[6]={8,9,10,11,12,0};
int b1[4][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23},{25,27,29,31}};
int b2[4][4]={{2,3,6,7},{10,11,14,15},{18,19,22,23},{26,27,30,31}};
int b3[4][4]={{4,5,6,7},{12,13,14,15},{20,21,22,23},{28,29,30,31}};
int b4[4][4]={{8,9,10,11},{12,13,14,15},{24,25,26,27},{28,29,30,31}};
int b5[4][4]={{16,17,18,19},{20,21,22,23},{24,25,26,27},{28,29,30,31}};

int day=0,month=0;
int i,j,answer;

printf("Is your birthday in a1[6]?\n");
for(i=0;i<6;i++)
printf("%5d ",a1[i]);
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
month+=1;

printf("Is your birthday in a2[6]?\n");
for(i=0;i<6;i++)
printf("%5d ",a2[i]);
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
month+=2;

printf("Is your birthday in a3[6]?\n");
for(i=0;i<5;i++)
printf("%5d ",a3[i]);
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
month+=4;

printf("Is your birthday in a4[6]?\n");
for(i=0;i<5;i++)
printf("%5d ",a4[i]);
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
month+=8;

printf("Is your birthday in b1[4][4]?\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%5d ",b1[i][j]);
printf("\n");
}
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
day+=1;

printf("Is your birthday in b2[4][4]?\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%5d ",b2[i][j]);
printf("\n");
}
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
day+=2;

printf("Is your birthday in b3[4][4]?\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%5d ",b3[i][j]);
printf("\n");
}
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
day+=4;

printf("Is your birthday in b4[4][4]?\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%5d ",b4[i][j]);
printf("\n");
}
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
day+=8;

printf("Is your birthday in b5[4][4]?\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%5d ",b5[i][j]);
printf("\n");
}
printf("\n Please input 0 for No and 1 for Yes:");
scanf("%d",&answer);
if(answer==1)
day+=16;
printf("\n Your birthday is %d月%d日!\n",month,day);
return 0;
}

原文地址:https://www.cnblogs.com/mathstudysharing/p/10254428.html

时间: 2024-08-09 18:47:41

c语言-猜生日算法的相关文章

c语言递推算法1

递推算法之一:倒推法 1.一般分析思路: if 求解初始条件F1 then begin { 倒推 } 由题意(或递推关系)确定最终结果Fn; 求出倒推关系式Fi-1 =G(Fi ); i=n; { 从最终结果Fn出发进行倒推 } while 当前结果Fi非初始值F1 do 由Fi-1=G(Fi)倒推前项; 输出倒推结果F1和倒推过程; end { of then } else begin { 顺推 } 由题意(或递推关系)确定初始值F1(边界条件); 求出顺推关系式Fi=G(Fi-1); i=1

C语言值基本算法43—总结

C程序的基本算法共涵盖42个例题,包含了枚举.排列.逻辑判断.迭代.递推.字符串操作.矩阵操作.格式输出等内容. 相关的实现方法有的显得很笨拙,但足够说明问题,而且每个程序都经过作者亲测,保证可以运行.之所以称之为基本算法,就是为了测试基础知识的掌握,都是从原始的角度进行处理,没有运用过于花哨的处理技巧,作者也是在学习中进步,也希望这些代码对于没有基础或者基础薄弱的朋友带来帮助. 至此,基本知识就掌握了,我们常常会听说C的强大,因为它是面向过程的,在数学领域具有极好的应用,有必要进行进一步的学习

C语言实现FIFO算法与LRU算法

在操作系统中,当程序在运行过程中,若其所要访问的页面不再内存中而需要把他们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存调出一页程序或数据送磁盘的兑换区中.但哪一个页面调出,须根据一定的算法确定.通常,把选择换出页面的算法称为页面置换算法(Page-Replacement Algorithms).置换算法的好坏将直接影响到系统的性能. 1) 先进先出(FIFO)页面置换算法 该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰.该算法实现简单,只需

? 题目 一道超难的奥数题,猜生日. A告诉B他生日的月份,告诉C他生日的日期 B说:“如果我不知道A的生日,那C肯定也不知道.&quot; C说:”本来我不知道,现在我知道了.“ B说:”哦,那我也知道了.

现在的学生真是太生猛了,一道奥数题突破天际了.... 闲话少说,看题: 一道超难的奥数题,猜生日.A告诉B他生日的月份,告诉C他生日的日期B说:"如果我不知道A的生日,那C肯定也不知道."C说:"本来我不知道,现在我知道了."B说:"哦,那我也知道了."A的生日可能是:11月4日 11月5日 11月8日 1月4日 1月22日 3月1日 3月5日 7月1日7月2日 7月8日请问A的生日是几月几日? 附上某网友解答过程: 11月4日 11月5日 11

0.数据结构(python语言) 基本概念 算法的代价及度量!!!

先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题(需求)的具体的例子 算法:解决问题的过程,是对一个计算过程的严格描述 程序:程序可以看作是采用计算装置能够处理的语言描述的算法 一.算法的5大性质 有穷性(算法描述的又穷性):算法必须用有限长的描述说清楚 能行性:算法的每一步都是可行的,也就是说,每一步都能通过执行有限次数完成 确定性:别人看了过

C语言版数据结构算法

C语言版数据结构算法 C语言数据结构具体算法 https://pan.baidu.com/s/19oLoEVqV1I4UxW7D7SlwnQ C语言数据结构演示软件 https://pan.baidu.com/s/1u8YW897MjJkoOfsbHuadFQ 在上一篇的FIFO中就是基于数据结构思维中的队列实现的,而基本的数据结构内容还有 算法效率分析.线性表.栈和队列.串.数组和广义表.树和二叉树.图.查表.排序.动态存储管理 上面两个链接就是<数据结构(C语言版)>严蔚敏教授严奶奶的书籍

C语言qsort函数算法性能测试

对于该算法的复杂性.一个直接的方法是测量的一定量的算法级数据的执行时间的感知. 随着C语言提供qsort对于示例.随着100一万次的数据,以测试其计算量.感知O(nlg(n))时间成本: C码如下面: #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 1000000 //int (*Comp)(const void *,const void *) int compare(const vo

R语言之Apriori算法应用

一. 概念 关联分析用于发现隐藏在大型数据集中的有意义的联系.所发现的联系可以用关联规则(association rule)或频繁项集的形式表示. 项集:在关联分析中,包含0个或多个项的集合被称为项集(itemset).如果一个项集包含k个项,则称它为k-项集.例如:{啤酒,尿布,牛奶,花生} 是一个4-项集.空集是指不包含任何项的项集. 关联规则(association rule):是形如 X → Y 的蕴含表达式,其中X和Y是不相交的项集,即:X∩Y=∅.关联规则的强度可以用它的支持度(su

10个经典的C语言面试基础算法及代码

算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手.本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列.简易计算器.回文检查.质数检查等算法.也许他们能在你的毕业设计或者面试中派上用场. 1.计算Fibonacci数列 Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21. C语言实现的代码如下: 1 2 3 4 5 6 7 8 9 10