- 博客(7)
- 收藏
- 关注
原创 2020-03-04
位运算 把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0。 例子:输入一个数,统计其对应二进制数中1的个数。 int number(int n) { int count = 0; while( n ) { ++count; n = (n-1) & n; } return count; } ...
2020-03-04 15:44:54
164
原创 1008-数组元素循环右移问题
题目描述:一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N ( 1<...
2018-04-10 11:03:37
1061
原创 1016-部分A+B
题目描述:正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB输入:输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。输出:在一行中输出PA + PB的值。例:输入:38627...
2018-04-03 21:08:33
162
原创 1011-A+B和C
题目描述:给定区间[ -2^31, 2^31]内的3个证书A,B,C,请判断A+B是否大于C。输入:输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出:对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。输入...
2018-04-03 20:48:41
171
原创 1001. 害死人不偿命的(3n+1)猜想
题目描述:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么(3n+1)砍掉一半,这样一直反复砍下去,最后一定在某一步得到n=1。要求:给定任意不超过1000的正整数n,需要多少不才能得到n=1。输入:一个自然数n输出:从n到1需要的步数例:输入:3输出:5代码如下:#include<stdio.h>int main(){ int n; int k=0;...
2018-04-03 20:42:00
312
原创 1035-树根
题目描述:树根:对于一个正整数n,将它的各个数位上的数字相加得到一个新数,如果这个数是一位数,我们就称之为n的树根,否则重复处理直到它成为一个一位数。例如:n=34,3+4=7,7是一位数,所以7是34的树根。再如:n=345,3+4+5=12, 1+2=3,3是一位数,所以3是345的树根。输入n, 输出它的树根。样例:345 结果:3题解:自定义一个函数,功能是用来使n辗转相除,得到n的余...
2018-03-31 20:13:41
649
原创 1033 乘法口诀
题目描述:要求输入一个数字,输出乘法口诀的前n行。例:输入:3结果为:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9两个for循环,第一个for(i=1 to i<=n),第二个for(j=1 to j<=i),然后让i 乘以j,输出结果。ps: 要想得到乘法口诀的格式,注意最后输出结果的值是 j*i完整代码如下:#include<stdio.h>i...
2018-03-31 19:53:17
386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人