假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、87
来源:互联网 发布:学会编程能做什么 编辑:程序博客网 时间:2024/05/23 02:00
#include<stdio.h>
int main()
{
int n;
while(~scanf("%d",&n))
{
int i,j=0,k,s;
int a[300],b[300],c[300];
for(i=0; i<n; i++)
{
s=0;
scanf("%d",&a[i]);
k=a[i];
while(k!=0)
{
if(k&1)
s++;
k>>=1;
}
if((s&1)==0)
{
b[j]=a[i];
j++;
}
}
int t,m;
s=0;
for(t=0; t<j; t++)
{
s+=b[t];
}
i=0;
if(s==0)
printf("0\n");
else
{
while(s)
{
c[i]=s%2;
s/=2;
i++;
}
for(m=i-1; m>=0; m--)
printf("%d",c[m]);
printf("\n");
}
}
return 0;
}
int main()
{
int n;
while(~scanf("%d",&n))
{
int i,j=0,k,s;
int a[300],b[300],c[300];
for(i=0; i<n; i++)
{
s=0;
scanf("%d",&a[i]);
k=a[i];
while(k!=0)
{
if(k&1)
s++;
k>>=1;
}
if((s&1)==0)
{
b[j]=a[i];
j++;
}
}
int t,m;
s=0;
for(t=0; t<j; t++)
{
s+=b[t];
}
i=0;
if(s==0)
printf("0\n");
else
{
while(s)
{
c[i]=s%2;
s/=2;
i++;
}
for(m=i-1; m>=0; m--)
printf("%d",c[m]);
printf("\n");
}
}
return 0;
}
阅读全文
0 0
- 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、87
- 一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。
- 数A去掉一个数字后得到B,给出A与B的和N求所有可能的数A
- 2. 编写一个Java应用程序,用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、32
- 编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数, 并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同, 例如12121、3
- 依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的5个数,且该数是奇数,则把这个四位数按从小到大的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。
- 数字黑洞:任意一个5位数,比如:34256,把它的各位数字打乱,重新排列,可以得到 * 一个最大的数:65432,一个最小的数23456。
- 有一串数字,A、B两个人分别依次从两端取一个数,直到取完所有数,取得和最大者胜利;A、B都使用最优策略的情况下,求A、B最终的和;
- 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。
- 求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序
- 题目:两个人玩一个数字游戏,给定两个正整数A,B,两个人轮流从一个数中减去另外一个数的正数倍,要保证结果非负,首先得到0的人获胜。
- 任意一个5位数,比如:34256,把它的各位数字打乱,重新排列,可以得到一个最大的数:65432, 一个最小的数23456。求这两个数字的差,得:41976,把这个数字再次重复上述过程(如果不足5位,
- 从键盘上得到一个1到100的数字,打印这个数字的二进制。
- 有两个32bit的数A、B,使用下面方式得到32bit的数C、D。哪一种可以使用C、D得到A、B的值?----阿里巴巴2015校招研发在线
- 有两个32bit的数A、B,使用下面方式得到32bit的数C、D。哪一种可以使用C、D得到A、B的值?
- a&b得到的究竟是什么
- 得到[0~b]范围内A的倍数
- Java实现从一个数字中删除给定个数的数得到一个最大整数
- Photoshop抠图(运用背景橡皮擦工具进行抠图)
- Spring Boot:Unable to open JDBC connection for schema management target
- Mysql Innodb小结
- Scala学习笔记 --- case class 与 class 比较
- Java 7 的7个新特性
- 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、87
- Android音频系统之音频框架
- AtCoder:Connected?(思维)
- 关于Python的一些学习资料总结
- gradle包含库出现问题
- bzoj3110 K大数查询(整体二分+线段树)
- EasyX鼠标函数和MBCS、Unicode编码
- Django使用mysql操作实战系列之七
- arrayQueue 和linkedQueue