吻你不厌 发表于 2020-11-26 00:42:47

到底要悬赏多少大佬才能理我?

这是题目,简单来说就是求一个数乘2之后,还是不是原数的数字构成。
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number consisting exactly the numbers from 1 to 9, only in a different permutation. Check to see the result if we double it again!

Now you are suppose to check if there are more numbers with this property. That is, double a given number with k digits, you are to tell if the resulting number consists of only a permutation of the digits in the original number.

Input Specification:
Each input contains one test case. Each case contains one positive integer with no more than 20 digits.

Output Specification:
For each test case, first print in a line "Yes" if doubling the input number gives a number that consists of only a permutation of the digits in the original number, or "No" if not. Then in the next line, print the doubled number.

Sample Input:
1234567899
Sample Output:
Yes
2469135798

然后这是我的代码(陷入死循环出不来了,怎么办啊,想了一晚上,不知道哪里错了)
#include<stdio.h>

int main(void)
{
        long long int num1,num2,num3;
        int n1,n2;
        int i,j,flag = 1;
        scanf("%lld",&num1);
       
        num2 = num1 * 2;
        num3 = num2;
       
        for(i = 0;i < 19;i++)
        {
                n1 = num1 % 10;
                num1 = num1 / 10;
        }
       
        for(j = 0;j < 19;j++)
        {
                n2 = num2 % 10;
                num2 = num2 / 10;
        }
       
        for(i = 0;i < 20;i++)
        {
                for(j = 0;j < 20;j++)
                {
                        if(n1 == n2)
                        {
                                n1 = -1;
                                n2 = -1;
                                break;
                        }
                        else if(j = 19 && n1 != n2)
                        {
                                flag = 0;
                        }
                }
               
        }
       
        if(flag == 0)
        {
                printf("No\n");
        }
        else if(flag == 1)
        {
                printf("Yes\n");
        }
        printf("%lld",num3);
       
        return 0;
}

风过无痕1989 发表于 2020-11-26 00:42:48

不是多大的悬赏的问题!你的问题主要在于:欠了不少的帖子没有结帖,别人回答了你的问题,又不要你付出什么,举手之劳,选个最佳答案这么简单的事,你都不愿意去做。换作是你,付出了得不到回报,你会怎么想?
算了,不跟你计较了,来说说你的程序,没有大问题,只有一处,不细心敲漏了一个键,看代码:


for(i = 0;i < 20;i++)
      {
                for(j = 0;j < 20;j++)
                {
                        if(n1 == n2)
                        {
                              n1 = -1;
                              n2 = -1;
                              break;
                        }
                        else if(j = 19 && n1 != n2)      // 你不断地给 j 赋值 :j = 19,毫无疑问是错误的,应该是:j == 19 吧?
                        {
                              flag = 0;
                        }
                }
               
      }

吻你不厌 发表于 2020-11-26 10:40:54

额,我好像没有欠吧

吻你不厌 发表于 2020-11-26 10:41:35

如果解决了问题,我都给的很及时。。

风过无痕1989 发表于 2020-11-26 12:47:59

吻你不厌 发表于 2020-11-26 10:41
如果解决了问题,我都给的很及时。。

我有几个你的帖子,都是通过举报,管理员给结帖的。

“最佳答案”找找找!!:https://fishc.com.cn/thread-182869-1-1.html

好了,你给了那么多的鱼币,我也没法还给你。实话跟你说,我们缺的不是鱼币,而是技术值,而这个技术值,只有被选为最佳答案后,系统的奖励。而回答悬赏帖子,被选为最佳答案,是没有这个技术值的,这也是你发悬赏帖,被人愿意来回答的原因

吻你不厌 发表于 2020-11-26 13:04:28

本帖最后由 吻你不厌 于 2020-11-26 13:06 编辑

风过无痕1989 发表于 2020-11-26 12:47
我有几个你的帖子,都是通过举报,管理员给结帖的。

“最佳答案”找找找!!:https://fishc.com.cn/t ...

那我觉得这个规则该修改一下,至少悬赏和普通求助一样的技术值,不然悬赏岂不是摆设吗。。
还有,我真的不记得我哪个没有结帖了,可能是答案不太满意,然后贴又沉了,导致我忘了,毕竟我求助帖太多了。。
页: [1]
查看完整版本: 到底要悬赏多少大佬才能理我?