http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1383
睡前一水。
题意:
找出十进制数转换为二进制数中的1的位置。
分析:
没什么难度,那个数组存下就行。
#include <stdio.h>
#include <string.h>
int main()
{
int d,n,a[100];
int i,j;
scanf("%d",&d);
while(d--)
{
i=0;
memset(a,0,sizeof(a));
scanf("%d",&n);
while(n)
{
a[i++]=n%2;
n=n/2;
}
for(j=0;j<=i;j++)
{
if(a[j]==1)
{
printf("%d",j);
break;
}
}
for(j++;j<=i;j++)
if(a[j]==1) printf(" %d",j);
printf("\n");
}
return 0;
}
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1494
题意:
虫子一上一下移动,什么时候爬出去?
分析:注意判断要在上升后break掉。
#include<stdio.h>
int main()
{
int n,u,d;
int t,temp;
while(scanf("%d%d%d",&n,&u,&d)!=EOF)
{
if(n==0) break;
temp=0;
t=0;
while(1)
{
temp+=u;
t++;
if(temp>=n) break;
temp-=d;
t++;
}
printf("%d\n",t);
}
return 0;
}