愛奇藝 筆試刷題

2021-08-21 13:01:35 字數 1135 閱讀 4164

題目描述:

/**

牛牛選擇了乙個正整數x,然後把它寫在黑板上。

然後每一天他會擦掉當前數字的最後一位,直到他擦掉所有數字。

在整個過程中,牛牛會把所有在黑板上出現過的數字記錄下來,

然後求出他們的總和sum.

例如x = 509, 在黑板上出現過的數字依次是509, 50, 5, 他們的和就是564.

牛牛現在給出乙個sum,牛牛想讓你求出乙個正整數x經過上述過程的結果是sum.

輸入描述:

輸入包括正整數sum(1 ≤ sum ≤ 10^18)

輸出描述:

輸出乙個正整數,即滿足條件的x,如果沒有這樣的x,輸出-1。

輸入例子1:

564輸出例子1:

509*/

思路如下:

對於乙個數x, 是digit位

那麼其對應的sum為x+x/10+x/100+...+(x/(10^(digit-1)))

那麼乙個sum題目現在最多是19位

那麼可以列舉digit,對於每乙個可能的digit根據sum,反過來求乙個xx

比如sum/(111..1)乙個digit個1得到的就是第一位

同理更新sum後得到第二位

要知道如果sum是d位的數,那麼x一定是d位或者d-1位數,否則不可能

137174210616796

123456789555123

**如下:

#include#include#define max_digit 19

typedef long long ll;

using namespace std;

int getdigit(ll num)

return digit;

}//digit只會是sumdigit或者sumdigit-1

ll getcandidate(int digit, int sumdigit, ll sum)

if(tempsum!=0)

return -1;

return candidate;

}int main()

printf("%lld", x);

return 0;

}

愛奇藝 筆試刷題

題目描述 牛牛和羊羊非常無聊.他們有n m個共同朋友,他們中有n個是無聊的,m個是不無聊的。每個小時牛牛和羊羊隨機選擇兩個不同的朋友a和b.如果存在多種可能的pair a,b 任意乙個被選到的概率相同。然後牛牛會和朋友a進行交談,羊羊會和朋友b進行交談。在交談之後,如果被選擇的朋友之前不是無聊會變得...

愛奇藝 筆試刷題

題目描述 乙個完整的括號字串定義規則如下 1 空字串是完整的。2 如果s是完整的字串,那麼 s 也是完整的。3 如果s和t是完整的字串,將它們連線起來形成的st也是完整的。例如,和 是完整的括號字串,和 是不完整的括號字串。牛牛有乙個括號字串s,現在需要在其中任意位置盡量少地新增括號,將其轉化為乙個...

愛奇藝 筆試刷題

題目描述 牛牛學習了氣泡排序,並寫下以下氣泡排序的偽 注意牛牛排序的陣列a是從下標0開始的。bubblesort a repeat length a 1 times for every i from 0 to length a 2 if a i a i 1 then swap a i and a i...