C语言杨辉三角和“日本某地谋杀案”习题讲解
题目描述:
在屏幕上打印杨辉三角。
输入描述:
4
输出描述
解题思路:
规律:
每个数等于它上方两数之和。
第一列永远为1
前两个数相加等于下面的数字
#include<stdio.h>
int main()
{char arr[20][20] = { 0 };int i = 0;int j = 0;int n = 0;scanf("%d", &n);for (i = 1; i <= n; i++){for (j = 0; j < n - i; j++)//打印空格{printf(" ");}//初始化第一列为1arr[i - 1][0] = 1;for (j = 1; j <= i; j++){//每个数等于它上方两数之和arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];printf("%d ", arr[i - 1][j - 1]);}printf("\n");}return 0;
}
小改进:
#include<stdio.h>
int main()
{char arr[20][20] = { 0 };int i = 0;int j = 0;int n = 0;scanf("%d", &n);for (i = 0; i < n; i++){//初始化第一列为1arr[i][0] = 1;for (j = 0; j <n-i-1 ; j++)//打印空格{printf(" ");}for (j = 0; j <= i; j++){//每个数等于它上方两数之和if ((i > 0) && (j > 0)){arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}printf("%d ", arr[i][j]);}printf("\n");}return 0;
}
题目描述:
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
以下为4个嫌疑犯的供词:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
解题思路:
如果我们实际中解决这个问题,一定是假设法,判断什么时候满足3真1假,而写程序描述实际也是一样的,我们利用for循环分别假设凶手是ABCD,将ABCD说的话分别转化为表达式,这些表达式真为1,假为0,当这些表达式加起来等于3的时候,凶手就是我们假设的这个凶手了。
#include<stdio.h>
int main()
{char killer = 0;for (killer = 'A'; killer <= 'D'; killer++){if ((killer != 'A') + (killer == 'C') + (killer == 'D') + (killer != 'D') == 3){printf("凶手是:%c\n", killer);}}return 0;
}
C语言杨辉三角和“日本某地谋杀案”习题讲解相关推荐
- c语言用二维数组打印空心菱形,java杨辉三角和空心菱形(二维数组篇)
一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...
- C语言杨辉三角(两种方法)
杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是 1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一 ...
- python实现杨辉三角_如何用Python实现杨辉三角和心
1. 如何实现杨辉三角 importcopy list=[] newlist=[]defFibonacci(list,n): newlist.append(0)if n ==1:return [1]f ...
- C语言——杨辉三角(最佳算法)
目录 方法一:一维数组,节约内存 方法二:(最佳算法⭐)递归函数法,程序最简,占用内存最少 运行结果: C语言输出杨辉三角形 等腰三角形 前言 杨辉三角形的特点: 第一列和对角线上的元素都为1: 除第 ...
- c语言杨辉三角求排列组合,杨辉三角(Pascal Triangle)的几种C语言实现及其复杂度分析...
说明 本文给出杨辉三角的几种C语言实现,并简要分析典型方法的复杂度. 本文假定读者具备二项式定理.排列组合.求和等方面的数学知识. 一 基本概念 杨辉三角,又称贾宪三角.帕斯卡三角,是二项式系数在三 ...
- C语言杨辉三角代码详解(超级详细,真的不进来看看吗?)
杨辉三角:是二项式系数在三角形中的一种几何排列.它的两条斜边都是1,中间数字等于它肩上数字之和. 就像这样: 那么,如何用C语言写出杨辉三角呢? 思路 1.定义一个二维数组,赋初值为1,这里以四行四列 ...
- c语言杨辉三角解释,C语言杨辉三角是什么
在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的'关键之一.在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1. ...
- c语言杨辉三角形7行7liu,7. C语言杨辉三角(两种方法)
杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是 1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一 ...
- C语言杨辉三角(用二维数组)
杨辉三角概述: 每行端点与结尾的数为1. 每个数等于它上方两数之和. 每行数字左右对称,由1开始逐渐变大. 第n行的数字有n项. 前n行共[(1+n)n]/2 个数. 第n行的m个数可表示为 C(n- ...
最新文章
- 反向R?削弱显著特征为细粒度分类带来提升 | AAAI 2020
- HTTP API响应数据规范整理
- java 文本编辑器替换特殊字符_linux中批量替换文本中字符串--转载
- mysql 回滚段 表空间_oracle回滚段和回滚表空间
- Python之路(第三十九篇)管道、进程间数据共享Manager
- 经典C语言程序100例之九四
- DW —— 静态图片的交替更换
- PHP学习8——图像处理
- Hadoop初步简介
- CAD制图系列之中心线画法
- xamarin.android 图片高斯模糊效果
- win8.1 安装kb2999226 一直提示 搜索更新
- 力扣 69. x 的平方根 三种方法
- 剧情插件Cutscene Creator uSequencer 1.3.7.1使用说明一
- 深度学习: marginal cost (边际成本)
- Java学习——Day13:IO流
- canvas画布中实现气泡
- iOS 上传头像 裁剪
- IT行业都有哪些岗位?
- SpringMVC从基础到源码