梦幻通灵 2016-03-19 02:49 采纳率: 100%
浏览 1588
已采纳

编程问题 C C#语言 最好能给出代码,求大神!

1.从键盘接受两个任意正整数,要求第一个正整数必须小于第二个正整数,然后把这两个数范围内(包括这两个数)的所有偶数分解为两个素数之和,并输出每个偶数以及对应的两个素数。

2.编写程序,将输入的一行字符串加密。加密时,每个字符的ASCII码依次反复加上密码表4,9,6,2,5,7,3中对应的数字。
如果相加的结果超过字符Z的ASCII码122,则进行取模运算。加密与解密的顺序相反,要求编写加密和解密两个函数,
输出各个过程的结果。
如输入“The result of 3 and 2 is not 8”,应该r加5,u加4

  • 写回答

2条回答 默认 最新

  • FlushHip 博客专家认证 2016-03-19 03:53
    关注

    // 1

    #include <stdio.h>
    #include <string.h>
    
    const int M=100005;
    
    bool prime[M];
    
    void get_prime()
    {
        memset(prime,true,sizeof(prime));
        prime[1]=false;
        for(int i=2;i<M;i++)
            if(prime[i])
                for(int j=2;j*i<M;j++)
                    prime[i*j]=false;
    }
    
    void deal(int x)
    {
        for(int i=2;i<=x/2;i++)
            if(prime[i]&&prime[x-i]){
                printf("%d: 1:%d 2:%d\n",x,i,x-i);
                return ;
            }
    }
    
    int main()
    {
        get_prime();
        int x,y;
        while(~scanf("%d%d",&x,&y)){
            for(int i=x%2? x+1:x;i<=y;i+=2)
                deal(i);
        }
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • FlushHip 博客专家认证 2016-03-19 04:12
    关注

    // 2

    #include <stdio.h>
    #include <string.h>
    
    const int M=10000;
    
    const int Num[7]={4,9,6,2,5,7,3};
    
    void incode(char *str_1,char *str_2,int len)
    {
        int index=0;
        for(int i=0;i<len;i++)
            str_2[i]=(str_1[i]+Num[(index++)%7])%122;
        str_2[len]=0;
    }
    
    void decode(char *str_1,char *str_2,int len)
    {
        int index=0;
        for(int i=0;i<len;i++)
            str_2[i]=(str_1[i]-Num[(index++)%7]+122)%122;
        str_2[len]=0;
    }
    
    void print(char *str,int len)
    {
        for(int i=0;i<len;i++)
            putchar(str[i]);
        puts("");
    }
    
    int main()
    {
        char code[M];
        while(gets(code)){
            int len=strlen(code);
            char tmp_string[M];
            incode(code,tmp_string,len);
            print(tmp_string,len);
            char ans[M];
            decode(tmp_string,ans,len);
            print(ans,len);
        }
        return 0;
    }
    
    
    
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 哈夫曼编码译码器打印树形项目
  • ¥20 求完整顺利登陆QQ邮箱的python代码
  • ¥15 怎么下载MySQL,怎么卸干净原来的MySQL
  • ¥15 网络打印机Ip地址自动获取出现问题
  • ¥15 求局部放电案例库,用于预测局部放电类型
  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色