-->
当前位置:首页 > 题库 > 正文内容

编程题:加密数

Luz4年前 (2021-10-17)题库1245
有一个32位的int型的整数是一个加密数,它实际表示为另一个数,即将该数从高位至低位的每8位作为一个数(无符号)进行求和后的数。

如:65920,其在计算机内的二进制数表示为:

00000000 00000001 00000001 10000000

则该加密数表示为:

0+1+1+128=130

现有一组这样的数,将其解密后输出。

### 输入样例:

在这里给出一组输入。例如:

in
65920
-1


### 输出样例:

在这里给出相应的输出。例如:

out
130
1020







答案:若无答案欢迎评论

#include<stdio.h>

int main()
{
int n,d=255,sum=0;
while(scanf("%d",&n)!=EOF)
{
sum=0;
for(int i=0;i<4;i++)
{
sum+=n&d;
n=n>>8;
}
printf("%d\n",sum);
}
return 0;
}

评论列表

GDNice
GDNice
4年前 (2021-10-20)

#include
#include
int main()
{
int n,sum;
unsigned a;
while(~scanf("%d",&n))
{
sum=0;
a=(unsigned)n;
while(a˃0)
{
sum+=a%256;
a/=256;
}
printf("%d\n",sum);
}
}

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。