3.什么是二叉树?
2.编程实现两个正整数的除法,当然不能用除法操作符
//return x/y
int div(const intx ,const int y){
...
}
答:
#inlcude<stdio.h>
void div(int x,int y){
int i;
for(i=1;i<y;){
if((x-i*y)>0&&(x-i*y)<y)){
printf("%d/%d=%d",x,y,i);
break;
}
else
i++;
}
}
int main(){
div(10000,3);
}
1.输入一个正数n,输出所有和为n 连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,
所以输出3 个连续序列1-5、4-6 和7-8。
答:
所以输出3 个连续序列1-5、4-6 和7-8。
答:
#include <stdio.h>
int sum(int i){
return (i*(i + 1) / 2);
}
void find(int N) {
int i = 0, j = 3, current_sum = 0;//current_sum 为1+2+...+j-(1+2+...+i)
/*整个循环过程是j从1开始不断求和,然后与N进行比较,如果恰好和N相等,则1+...+j就是所要序列,
如果小于,则让j继续加1,如果大于则让i+1。*/
while (j <= (N / 2 + 1)) {
current_sum = sum(j) - sum(i);
if (current_sum == N) {
i++;
int m = i, n = j;
while (m <=n) {
if (m == n)
printf("%d\n", m);
else
printf("%d+",m);
m++;
}
}
if (current_sum <=N)
j++;
if (current_sum >= N)
i++;
}
}
int main() {
find(100);
}