牛客刷题
1.🙂 小乐乐改数字
小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。
输入描述:
输入包含一个整数n (0 ≤ n ≤ 109)
输出描述:
输出一个整数,即小乐乐修改后得到的数字。
思路
1. 求出每一位
2. 求出每一位后判断奇偶性
3. 输出
代码实现
#include <stdio.h>
#include <math.h> // 导入math库
int main()
{
int n = 0;
scanf("%d",&n); // 比如 用户输入 1234
int s = 0; //
int tmp = 0;
int i =0;
while(n)
{
tmp = n%10; // 求余取出每一位
if(tmp%2==0) // 是偶数变成0
{
tmp = 0;
}
else {
tmp = 1; // 是奇数变成1
}
n/=10; // 1234->123->12->1
s += tmp*(int)pow(10,i++); // 取出每一位后判断奇偶后相加
}
printf("%d",s);
return 0;
}
运行结果
2.🤪小乐乐排电梯
描述
小乐乐学校教学楼的电梯前排了很多人,他的前面有n个人在等电梯。电梯每次可以乘坐12人,每次上下需要的时间为4分钟(上需要2分钟,下需要2分钟)。请帮助小乐乐计算还需要多少分钟才能乘电梯到达楼上。(假设最初电梯在1层
输入描述:
输入包含一个整数n (0 ≤ n ≤ 109)
输出描述:
输出一个整数,即小乐乐到达楼上需要的时间。
代码实现
#include <stdio.h>
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF) // 用户输入小乐乐前面有多少人
{ // 计算小乐乐到达楼上需要的时间
printf("前面有%d人到达楼上所需要的时间%d分钟\n", n,(n / 12) * 4 + 2);
}
return 0;
}
测试输出结果