首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
C语言程序设计100例之(10):最大公约数
】的更多相关文章
C语言程序设计100例之(10):最大公约数
例10 最大公约数 问题描述 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. 输入数据 第一行输入一个n,表示有n组测试数据,接下来的n行,每行输入两个正整数a,b. 输出格式 输出对应的c,每组测试数据占一行. 输入样例 2 6 2 12 4 输出样例 4 8 (1)编程思路. 利用转辗相除法求两个整数的最大公约数.例如,求整数m=48,n=18两个数的最大公约数的方法如左图所示. 具体做法是:…
黑马程序员——经典C语言程序设计100例
1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数 13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题…
C语言程序设计100例之(4):水仙花数
例4 水仙花数 题目描述 一个三位整数(100-999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33),找出所有的这种数. 输入格式 没有输入 输出格式 若干行,每行1个数字. 输入样例 无 输出样例 153 * * * ... * * * (输出被和谐了) (1)编程思路1. 对三位数n(n为100~999之间的整数)进行穷举.对每个枚举的n,分解出其百位a(a=n/100).十位b(b=n/10%10)和个位c( c=n%10),若满足a*a*a+…
C语言程序设计100例之(23):数列求和
例23 数列求和 问题描述 已知某数列前两项为2和3,其后继项根据前面最后两项的乘积,按下列规则生成: ① 若乘积为一位数,则该乘积即为数列的后继项: ② 若乘积为二位数,则该乘积的十位上的数字和个位上的数字依次作为数列的两个后继项. 输出该数列的前N项及它们的和. 输入格式 一个整数N(2≤N≤1000). 输出格式 第1行输出该数列的前N项的和. 第2行输出该数列的前N项. 输入样例 10 输出样例 sum(10)=44 2 3 6 1 8 8 6 4 2 4 (1)编程思路. 编写函数i…
C语言程序设计100例之(18):火柴棒等式
例18 火柴棒等式 用n根火柴棍,可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棒拼出的整数(若该数非零,则最高位不能是0).用火柴棒拼数字0~9的拼法如图1所示. 图1 用火柴棒拼的数字0~9 另外,加号与等号各自需要两根火柴棒. 编写一个程序,输入火柴棒的根数n,输出能拼成的不同等式的数目.说明:(1)如果A≠B,则A+B=C与B+A=C视为不同的等式(A.B.C>=0):(2)A和B最多为3位数:(3)n根火柴棒必须全部用上. 例如,输入18,输出应为9.即18根…
C语言程序设计100例之(16):巧解算式
例16 巧解算式 问题描述 在1.2.3.4.5.6.7.8.9.10个数中间加上加号或减号,使得到的表达式的值为自然数N,如果中间没有符号,则认为前后为一个数,如1 2 3认为是一百二十三(123). 例如:当N=100时,表达式值为100的填法有24种.123+4+5+67-89-10=100是一种填法,1+2+3+4+56+7+8+9+10=100也是一种填法. 编写一个程序,找出使表达式的值等于N的填写方法有多少种? 输入格式 输入包含多组测试数据.每组测试数据一个自然数n,占据独立一…
C语言程序设计100例之(26):二进制数中1的个数
例26 二进制数中1的个数 问题描述 如果一个正整数m表示成二进制,它的位数为n(不包含前导0),称它为一个n位二进制数.所有的n位二进制数中,1的总个数是多少呢? 例如,3位二进制数总共有4个,分别是4(100).5(101).6(110).7(111),它们中1的个数一共是1+2+2+3=8,所以所有3位二进制数中,1的总个数为8. 输入格式 一个整数T,表示输入数据的组数,接下来有T行,每行包含一个正整数 n(1<=n<=20). 输出格式 对于每个n ,在一行内输出n位二进制数中1…
C语言程序设计100例之(22):插入排序
例22 插入排序 问题描述 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素或记录的任意序列,重新排列成一个以关键字递增(或递减)排列的有序序列. 排序的方法有很多,简单插入排序就是一种简单的排序算法. 插入排序的基本思想是顺序将一个待排序的记录按其关键字值的大小插入到一个有序的序列中,插入后该序列仍然是有序的. 简单插入排序是一种最简单的排序方法.它的排序过程为:先将待排序序列中第1个记录看成是一个有序的子序列,然后从第2个记录起依次逐个地插入到这个有序的子序列中去.这很像玩扑…
C语言程序设计100例之(9):生理周期
例9 生理周期 问题描述 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为 23 天.28 天和33 天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏捷,精力容易高度集中.因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天.对于每个人,我们想知道何时三个高峰落在同一天. 对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出现的时间).你的任务是给定一个从当年第一天开始数的天数…
C语言程序设计100例之(6):数字反转
例6 数字反转 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入格式 一个整数 N 输出格式 一个整数,表示反转后的新数. 输入样例 #1 123 输出样例 #1 321 输入样例 #2 -380 输出样例 #2 -83 (1)编程思路. 将一个非负整数number各位上的数字依次分离出来,其操作步骤为: 1)分离出number的个位数,即number%10. 2)…