
题目67三角形的个数问题描述明明的爸爸常用玩游戏的方法来激发明明对几何学的兴趣。这天明明的爸爸和明明又玩起了有关三角形的游戏。明明爸爸对明明说“我们能不能构造一个周长为15的三角形” “太简单了”明明说道“三条边长都是5的三角形它的周长不就是15吗” “明明真聪明算得真快。”明明爸爸接着说“可是我不想要三条边都相等的三角形哪” 明明大眼睛一转说道“那也好办啊我只要对这个等边三角形的一条边减去一个数再把这个数加到另一条边上就可以得到一个新的周长为15的三角形。例如在第一条边上减去1在第二条边上加上1这样不就可以得到一个周长为15的新的三角形了吗” “哇明明太聪明了”爸爸称赞道。“对如果把第一条边上减去的1加到第三条边上去不就又可以得到周长为15的另外一个新三角形了吗”爸爸模仿着明明的方法和语气。 “不对呀爸爸。你构造的三角形和我构造的三角形是同样的三角形。爸爸你看我的三角形三条边分别长为4、6、5而你的三角形三条边分别长为4、5、6将三条边按其边长排序后都得到4、5、6所以它们是同一个三角形不是两个不同的三角形。” “啊还是明明聪明。那还有没有其他周长为15的三角形吗” “当然有啦。三条边边长分别为4、4、7的三角形它的周长就是15不过你可能不喜欢它因为它有两条边的边长相等。” 明明和爸爸玩了一下午这样的三角形游戏明明一共又构造了另外两个他认为他爸爸喜欢的三角形即边长分别为2、6、7的三角形和边长分别为3、5、7的三角形。晚上明明躺在床上还在思考如果周长不是15而是90那么爸爸喜欢的三角形有多少个呢明明的问题可以归结为根据一个正整数n3 ≤ n ≤ 100要求统计出同时满足下列条件的三角形的个数边长都是整数。周长为n。边长两两不相等。之所以有上述第一个条件那是因为明明只知道正整数没有学过分数和实数因此他构造出的三角形的边长均为正整数。 请你写一个程序来帮助明明计算出他认为他爸爸喜欢的三角形的个数。总结令abc,则ba1,c2,而abcn 3a3n,则a最大为n-3)/3,向下取整而bc,bn-a-b2bn-a,b(n-a)/2,向下取整#includestdio.h int main(){ int n; while (scanf(%d,n)!EOF){ int count0; for(int a1;a(n-3)/3;a){ for(int ba1;b(n-a)/2;b){ int cn-a-b; if(cbabc){ count; } } } printf(%d\n,count); } return 0; }题目68素数问题描述明明的爸爸是一位数学家明明受他爸爸的影响从小就喜欢数学经常向他爸爸学习或请教数学问题。一天明明问他爸爸什么是素数明明的爸爸回答说“首先素数都是大于1的自然数其次素数是只能被1和其本身整除的数。例如‘3’这个数它只能被1和3这两个整数整除因此‘3’就是素数但是‘4’就不是素数因为4除了能被1和4整除外还能被2整除因此‘4’就不是一个素数。”明明对于爸爸的回答很满意也很快明白了素数的定义。于是明明的爸爸就问明明“明明你现在知道了什么是素数那我现在给你一个整数区间你能告诉我在这个区间里一共有多少个素数吗” 例如一个区间为[110]则在这个区间里一共有2、3、5、7总共4个素数。 明明想了想觉得这很简单就说“没问题。”于是明明爸爸就给了明明一个很大的区间这下明明有点犯难了由于区间太大一个一个算过了会很花时间。聪明的明明想到了你你总是乐于助人。明明想让你帮他写一个程序用来计算在某一个整数区间内一共有多少个素数。 明明的问题可以归结为给你一个整数区间求出在这个区间里共有多少个素数。总结注意区间范围#includestdio.h int is_prime(int n){ if(n2) return 0; if(n2) return 1; if(n%20) return 0; for(int i3;in;i2){ if(n%i0) return 0; } return 1; } int main(){ int x,y; while(scanf(%d %d,x,y)!EOF){ int count0; for(int jx;jy;j){ if(is_prime(j)) count; } printf(%d\n,count); } return 0; }题目69杨辉三角问题描述还记得中学时候学过的杨辉三角吗基本的特征是前提端点的数为1.每个数等于它上方两数之和。每行数字左右对称由1开始逐渐变大。第n行的数字有n项。你可以参考以下的图形总结第一列都是1对角线上都是1a[i][j] a[i-1][j-1] a[i-1][j]通过已知的上一层数据递推出当前层的所有数据。#includestdio.h int main(){ int T,n; int tg[21][21]{0}; scanf(%d,T); while(T--){ scanf(%d,n); //生成杨辉三角 for(int i1;in;i){//i控制列 tg[i][1]1;//第一列都是1 tg[i][i]1;//对角线上都是1 for(int j2;ji-1;j){//j控制每行的数字 tg[i][j]tg[i-1][j-1]tg[i-1][j]; } } //输出杨辉三角 for(int i1;in;i){ for(int j1;ji;j){ printf(%d,tg[i][j]); if(ji){ printf( );//行内数字之间空格 } } printf(\n);//每行结束换行 } printf(\n);//每个杨辉三角后面加一个空行 } return 0; }题目70矩阵问题问题描述从键盘上输入一个整数N按以下规律输出一个(2N1)*(2N1)的矩阵对角线的值为1上半三角区域值为2下半三角区域值为3左半三角区域的值为4右半三角区域的值为5。总结找出主对角线ij副对角线ij2n上都为1如果i j且i j 2N→ 同时满足“在主对角线之上”和“在副对角线之上” → 上半三角值为2如果i j且i j 2N→ 同时满足“在主对角线之下”和“在副对角线之下” → 下半三角值为3如果i j且i j 2N→ 在主对角线之下、副对角线之上 → 左半三角值为4如果i j且i j 2N→ 在主对角线之上、副对角线之下 → 右半三角值为5#includestdio.h int main(){ int n; while(scanf(%d,n)!EOF){ int mx[17][17]{0}; int size2*n1; //创建矩阵 for(int i0;isize;i){ for(int j0;jsize;j){ //两条对角线上面元素为1 if(ij||ijsize-1){ mx[i][j]1; } //上半三角 else if(ijijsize-1){ mx[i][j]2; } //下半三角 else if(ijijsize-1){ mx[i][j]3; } //左半三角 else if(ijijsize-1){ mx[i][j]4; }//右半三角 else if(ijijsize-1){ mx[i][j]5; } } } //输出矩阵 for(int i0;isize;i){ for(int j0;jsize;j){ printf(%d,mx[i][j]); if(jsize-1){ printf( ); } } printf(\n); } } return 0; }题目71发牌问题描述编制一个模拟发牌的程序。有编号为1234四个人将一付去掉大小怪的扑克按照如下顺序排列梅花c0-c12方块d0-d12红桃h0--h12黑桃s0-s12然后按照1234四个人的顺序发牌问最后每个人手上的牌有哪些。总结通过两个二维数组分别存储字母和数字同一列的不同行是相同点数的不同花色使用计数器count控制花色切换count 0-12花色 c梅花count 13-25花色 d方块count 26-38花色 h红桃count 39-51花色 s黑桃同时重置点数计数器m确保每个花色都从0开始。#includestdio.h int main(){ int n,count0,m0; char kc; char arr[4][13]; int arr1[4][13]; for(int j0;j13;j){ for(int i0;i4;i){ arr[i][j]k; arr1[i][j]m; count; if(count13){ kd; m0; } if(count 26){ k h; m 0; } if(count 39){ k s; m 0; } } } while(scanf(%d,n)!EOF){ for(int i 0; i 13; i){ printf(%c %d, arr[n - 1][i], arr1[n - 1][i]); if(i 12) printf( ); } printf(\n); } return 0; }翻译AR 浏览的另一个引人注目的用例是外语的同声传译。此功能现已在谷歌翻译应用中广泛使用。用户只需选择目标语言并将设备摄像头对准印刷文本翻译结果便会叠加显示在图像上。3. 电视许多人首次接触 AR可能是通过广播电视传输到家中的、对实时摄像头画面的注释。这个概念最早也是最突出的例子是美国橄榄球比赛中虚拟的首攻10码线它直接叠加在比赛的电视转播画面上用于指示获得首攻所需的码数。用虚拟叠加内容注释电视画面的相同理念已成功应用于许多其他体育项目包括棒球、冰球、赛车和帆船比赛。图 12B-3 展示了一场带有增强信息的电视转播足球比赛。在此形式的 AR 体验中观众无法单独改变视角。鉴于球场上的实时动作是由可追踪的摄像机捕捉的交互式的视角变化仍然是可能的尽管这不受最终观众的控制。图 12B-3增强现实技术加持的电视足球转播几家相互竞争的公司为各种广播赛事提供增强现实解决方案创建出令人信服且信息丰富的实时注释。注释的可能性早已超越单纯的体育信息或简单的线条图形现在已包含品牌标识或产品广告的复杂 3D 图形渲染单词: