fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int t, n;
  6. int bin[100];
  7. scanf("%d", &t);
  8. for (int sn = 1; sn <= t; sn++) {
  9. scanf("%d", &n);
  10. int x = n - 1, i = 0;
  11. for (int tmp = x; tmp > 0; bin[i++] = (tmp & 1), tmp = tmp >> 1);
  12.  
  13. long d = 1;
  14.  
  15. for (int j = i - 1; j > -1; j--) {
  16. if (bin[j] == 0) {
  17. d = (d * d) % 1000000007;
  18. } else {
  19. d = (d * d) % 1000000007;
  20. d = (d * 2) % 1000000007;
  21. }
  22. }
  23. int ans = (n * d % 1000000007);
  24. printf("Case #%d: %d\n", sn, ans);
  25. }
  26. return 0;
  27. }
Success #stdin #stdout 0s 15232KB
stdin
68
15000689
20033333
300152
4000
55566633
600855
700777
800000000
999999999
10500
20000
30330
40800
50000
60555
77777
80850
90000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
1000000000
stdout
Case #1: 844244864
Case #2: 864541049
Case #3: 91066326
Case #4: 887180975
Case #5: 857149785
Case #6: 547477274
Case #7: 609565786
Case #8: 213666583
Case #9: 718750005
Case #10: 506410651
Case #11: 288756992
Case #12: 719450739
Case #13: 290889480
Case #14: 136271822
Case #15: 954107052
Case #16: 785453318
Case #17: 629058296
Case #18: 761367347
Case #19: 1
Case #20: 4
Case #21: 12
Case #22: 32
Case #23: 80
Case #24: 192
Case #25: 448
Case #26: 1024
Case #27: 2304
Case #28: 5120
Case #29: 11264
Case #30: 24576
Case #31: 53248
Case #32: 114688
Case #33: 245760
Case #34: 524288
Case #35: 1114112
Case #36: 2359296
Case #37: 4980736
Case #38: 10485760
Case #39: 22020096
Case #40: 46137344
Case #41: 96468992
Case #42: 201326592
Case #43: 419430400
Case #44: 872415232
Case #45: 811939321
Case #46: 758096363
Case #47: 784628175
Case #48: 106127248
Case #49: 285996313
Case #50: 719476260
Case #51: 733919781
Case #52: 57774084
Case #53: 295417233
Case #54: 950572596
Case #55: 620621438
Case #56: 680195382
Case #57: 238295776
Case #58: 232401590
Case #59: 976423263
Case #60: 976086678
Case #61: 998653667
Case #62: 90267956
Case #63: 366457184
Case #64: 104756905
Case #65: 953198898
Case #66: 393767951
Case #67: 762276233
Case #68: 7812500