标题:求大佬看看错在哪里了,测试结果都正确,但提交为wrong answer,求指导
取消只看楼主
艾莉莎
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-2-23
结帖率:0
已结贴  问题点数:20 回复次数:1 
求大佬看看错在哪里了,测试结果都正确,但提交为wrong answer,求指导
题目:要找到组合,您必须选择满足以下等式的五个字母v,w,x,y和z,其中每个字母由其在字母表中的序号位置替换(A = 1,B = 2,... ,Z = 26)。然后组合是vwxyz。如果有多个解决方案,则该组合是按字典顺序最大的组合,即在字典中最后出现的组合。

v - w ^ 2 + x ^ 3 - y ^ 4 + z ^ 5 =目标  

“例如,给定目标1和字母集合ABCDEFGHIJKL,一种可能的解决方案是FIECB,因为6 - 9 ^ 2 + 5 ^ 3 - 3 ^ 4 + 2 ^ 5 = 1.在这种情况下实际上有几种解决方案,并且组合结果证明是LKEBA.Klein认为在雕刻中编码组合是安全的,因为它可能需要数月的努力来尝试所有即使你知道这个秘密也是可能的。当然,计算机当然不存在。“
样本输入:
1 ABCDEFGHIJKL
11700519 ZAYEXIWOVU
3072997 SOUGHT
1234567 THEQUICKFROG
0结束
样本输出:
LKEBA
YOXUZ
GHOST
no solution

代码
#include<stdio.h>
#include<string.h>
#include<math.h>
#define EPSILON 0.1
int main()
{
    double num1;
    int flag,v,w,x,y,z,len;
    char a[20]= {0};
    double b[20]= {0};
    for(int i=0; i<20; i++)
    {
        a[i]=0;
    }
    while(scanf("%lf %s",&num1,a)!=EOF)
    {
        if(num1==0&&strcmp(a,"END")==0)
        {
            break;
        }
        flag=0;
        //把字符型数据组转换成数字型
        for(int i=0; i<20; i++)
        {
            b[i]=a[i];

        }
        len=strlen(a);
        for(int j=0; j<len; j++)
        {
            b[j]=b[j]-64;

        }
        for(v=len-1; v>=0; v--)
        {
            for(w=len-1; w>=0; w--)
            {

                for(x=len-1; x>=0; x--)
                {

                    for(y=len-1; y>=0; y--)
                    {

                        for(z=len-1; z>=0; z--)
                        {
                            if(w!=v&&x!=v&&x!=w&&y!=v&&y!=w&&y!=x&&z!=v&&z!=w&&z!=x&&z!=y)
                            {

                                //num2=b[v]-pow(b[w],2)+pow(b[x],3)-pow(b[y],4)+pow(b[z],5);
                                if(fabs(num1-(b[v]-pow(b[w],2)+pow(b[x],3)-pow(b[y],4)+pow(b[z],5)))<EPSILON)
                                {
                                    printf("%c%c%c%c%c\r\n",a[v],a[w],a[x],a[y],a[z]);
                                    flag=1;
                                    v=w=x=y=z=-1;
                                }


                            }
                        }
                    }
                }
            }
        }

        if(flag==0)
        {
            printf("no solution\r\n");
        }

    }

    return 0;

}

搜索更多相关主题的帖子: 组合 字母 int for pow 
2019-02-24 16:46
艾莉莎
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-2-23
得分:0 
回复 3楼 rjsp
谢谢
2019-02-25 15:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493200-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.559765 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved