每日一题——小乐乐改数字

简介: 小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。

 题目来源于牛客网

image.gif编辑

描述

小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。

输入描述:

输入包含一个整数n (0 ≤ n ≤ 109)

输出描述:

输出一个整数,即小乐乐修改后得到的数字。

示例1

输入:

222222

输出:

0


示例2

输入:

123

输出:

101

思路解析:

首先我们输入一个整数,然后要将整数的偶数位转换成0,奇数位变成1;那么自然而然就涉及到取数转换,接下来博主就为大家分享两种解题思路。

第一种是用数组做,优势是取数、修改数据容易,缺点是程序笨重,通用性不好,需要根据实例,做出相应的调整。

第二种是造数,通过取数,然后根据题目要求,生成一个新的数,直到输入的整数的每一项都进行了取数为止,新数制造完成。非常的好用。

造数法:

#include<stdio.h>intmain()
{
inta=0;//整数aintk=0;//存储每一位的位数intsum=0;//造数scanf("%d",&a);
//定义一个i用来控制每一位的数据大小,例如:123=1*100+2*10+3*1;//循环结束条件为整数a的每一位都取到过;//i*=10,相当于i=i*10;因为是造数,所以要控制好每一位的大小for(inti=1;a!=0;i*=10)
    {
//与10求模即可的得出最后一位k=a%10;
//判断该位的奇偶if(k%2==0)
        {
k=0;//如果是偶数,那么这一位为0sum+=k;
        }
else        {
k=1;//如果是奇数,那么这一位为1sum+=k*i;//通过乘i来调整位数的大小,通过sum存储        }
//除以10,概数去掉最后一位,从而可以判断下一位a=a/10;
    }
//打印制造的数sumprintf("%d",sum);
return0;
}

image.gif

数组法:

#include<stdio.h>intmain()
{
inti=0, j=0;
intt[16] = { 0 };
intn;
floatsum=0;
scanf("%d",&n);                 
while (n)
    {
//判断奇偶,以及相应的处理方式if (n%2==0||n==0)
        { 
t[i] =0;
sum+=t[i];
        }
else        {
t[i] =1;
sum+=t[i];
        }
++i;
n=n/10;
    }
//数据每一位都一样(相同)的情况if (sum/( i+1)==t[0])
printf("%d", t[0]);
//数据开头为0,我们则输出非0以后的数据elseif (t[i] ==0)
    {
for (j=i; j>=0; j--)
        {
if (t[j] %2!=0)
while (j>=0)
                {
printf("%d", t[j]);
j--;
                }
        }
    }
//打印转换后的数据elsewhile (i>=0)
        {
printf("%d",t[i]);
--i;
        }
return0;
}

image.gif

题目来源于牛客网:

小乐乐改数字_牛客题霸_牛客网

感谢每一个观看本篇文章的朋友,更多精彩敬请期待:保护小周ღ  

image.gif编辑

如有侵权请联系修改删除!

相关文章
|
7月前
|
算法 Java C++
字符串删减(蓝桥杯每日一题)
字符串删减(蓝桥杯每日一题)
70 0
|
算法
【蓝桥杯集训·每日一题】AcWing 3768. 字符串删减
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 双指针
80 0
每日一题---蓝桥杯基础练习“01字串”
每日一题---蓝桥杯基础练习“01字串”
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十八题-时间格式化输出
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十八题-时间格式化输出
78 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十八题-时间格式化输出
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十九题-获取字符串的长度
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十九题-获取字符串的长度
88 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十九题-获取字符串的长度
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十一题-计数
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十一题-计数
110 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十一题-计数
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十四题-修改this指向
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十四题-修改this指向
71 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十四题-修改this指向
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十二题-去除重复元素
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十二题-去除重复元素
80 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十二题-去除重复元素
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第九十五题-判断质数
#yyds干货盘点# 前端歌谣的刷题之路-第九十五题-判断质数
95 0
#yyds干货盘点# 前端歌谣的刷题之路-第九十五题-判断质数