现定义一种变换:对于一个由有限个数组成的序列S0,将其中的每个数换成该数在S0中出现的次数,可得到一个
答案:2 悬赏:0 手机版
解决时间 2021-03-14 18:20
- 提问者网友:玫瑰园
- 2021-03-14 08:33
现定义一种变换:对于一个由有限个数组成的序列S0,将其中的每个数换成该数在S0中出现的次数,可得到一个新序列S1,例如序列S0:(4,2,3,4,2),通过变换可生成新序列S1:(2,2,1,2,2),若S0可以为任意序列,则下面的序列可作为S1的是( )A.(1,2,1,2,2)B.(2,2,2,3,3)C.(1,1,2,2,3)D.(1,2,1,1,2)
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-03-14 09:49
A、∵2有3个,∴不可以作为S1,故A选项错误;
B、∵2有3个,∴不可以作为S1,故B选项错误;
C、3只有1个,∴不可以作为S1,故C选项错误;
D、符合定义的一种变换,故D选项正确.
故选:D.
B、∵2有3个,∴不可以作为S1,故B选项错误;
C、3只有1个,∴不可以作为S1,故C选项错误;
D、符合定义的一种变换,故D选项正确.
故选:D.
全部回答
- 1楼网友:走死在岁月里
- 2021-03-14 10:18
不知道我理解的对不对,起始点s0,终止点s0,你可以试试
#include "stdio.h"
#define n 100
void main()
{
char *c=(char*)malloc(n*sizeof(char));
char *s=(char*)malloc(n*sizeof(char));
char *p=(char*)malloc(n*sizeof(char));
int i;
int key;
int len;
int temp;
printf("please input encryption text:\n");
gets(c);
printf("please input encryption key words:\n");
scanf("%d",&key);
len=strlen(c);
for(i=0;i<len;i++)
{
p[i]=c[i];
}
for(i=0;(i+key-1)!=len;i++)
{
s[i+key-1]=c[i];
temp=c[i];c[i]=c[i+key-1];c[i+key-1]=temp;
c[i+1]=c[i];
}
if( (i+key-1) == len)
{
s[0]=c[i];
}
for(i=1;i<key-1;i++)
{
s[i]=p[i];
}
printf("the ciphertext is encrypted before:\n");
for(i=0;i<len;i++)
{
printf("%c",p[i]);
}
printf("\n");
printf("after the ciphertext is encrypted:\n");
for(i=0;i<len;i++)
{
printf("%c",s[i]);
}
printf("\n");
}
如果对你有所帮助,请记得采纳最佳答案,谢谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯