cython

Форк
0
/
modop.pyx 
295 строк · 4.3 Кб
1
import sys
2

3

4
def modobj(obj2, obj3):
5
    """
6
    >>> modobj(9,2)
7
    1
8
    >>> modobj('%d', 5)
9
    '5'
10
    >>> modobj(1, 0)  # doctest: +ELLIPSIS
11
    Traceback (most recent call last):
12
    ZeroDivisionError: integer... by zero
13
    """
14
    obj1 = obj2 % obj3
15
    return obj1
16

17

18
def mod_10_obj(int2):
19
    """
20
    >>> mod_10_obj(0)  # doctest: +ELLIPSIS
21
    Traceback (most recent call last):
22
    ZeroDivisionError: ... by zero
23
    >>> 10 % 1
24
    0
25
    >>> mod_10_obj(1)
26
    0
27
    >>> mod_10_obj(3)
28
    1
29
    >>> 10 % -1
30
    0
31
    >>> mod_10_obj(-1)
32
    0
33
    >>> mod_10_obj(-10)
34
    0
35
    """
36
    int1 = 10 % int2
37
    return int1
38

39

40
def mod_obj_10(int2):
41
    """
42
    >>> 0 % 10
43
    0
44
    >>> mod_obj_10(0)
45
    0
46
    >>> 1 % 10
47
    1
48
    >>> mod_obj_10(1)
49
    1
50
    >>> (-1) % 10
51
    9
52
    >>> mod_obj_10(-1)
53
    9
54
    >>> 9 % 10
55
    9
56
    >>> mod_obj_10(9)
57
    9
58
    >>> 10 % 10
59
    0
60
    >>> mod_obj_10(10)
61
    0
62
    >>> (-10) % 10
63
    0
64
    >>> mod_obj_10(-10)
65
    0
66
    >>> (-12) % 10
67
    8
68
    >>> mod_obj_10(-12)
69
    8
70
    >>> 10002 % 10
71
    2
72
    >>> mod_obj_10(10002)
73
    2
74
    >>> int((2**25) % 10)
75
    2
76
    >>> int(mod_obj_10(2**25))
77
    2
78
    >>> int((-2**25) % 10)
79
    8
80
    >>> int(mod_obj_10(-2**25))
81
    8
82
    >>> int((-2**31-1) % 10)
83
    1
84
    >>> int(mod_obj_10(int(-2**31-1)))
85
    1
86
    >>> int((2**50) % 10)
87
    4
88
    >>> int(mod_obj_10(2**50))
89
    4
90
    >>> int((-2**50) % 10)
91
    6
92
    >>> int(mod_obj_10(-2**50))
93
    6
94
    >>> int((-2**63-1) % 10)
95
    1
96
    >>> int(mod_obj_10(-2**63-1))
97
    1
98
    >>> int((2**200) % 10)
99
    6
100
    >>> int(mod_obj_10(2**200))
101
    6
102
    >>> int((-2**200) % 10)
103
    4
104
    >>> int(mod_obj_10(-2**200))
105
    4
106
    """
107
    int1 = int2 % 10
108
    return int1
109

110

111
def mod_obj_17(int2):
112
    """
113
    >>> 0 % 17
114
    0
115
    >>> mod_obj_17(0)
116
    0
117
    >>> 1 % 17
118
    1
119
    >>> mod_obj_17(1)
120
    1
121
    >>> (-1) % 17
122
    16
123
    >>> mod_obj_17(-1)
124
    16
125
    >>> 9 % 17
126
    9
127
    >>> mod_obj_17(16)
128
    16
129
    >>> 17 % 17
130
    0
131
    >>> mod_obj_17(17)
132
    0
133
    >>> (-17) % 17
134
    0
135
    >>> mod_obj_17(-17)
136
    0
137
    >>> (-18) % 17
138
    16
139
    >>> mod_obj_17(-18)
140
    16
141
    >>> 10002 % 17
142
    6
143
    >>> mod_obj_17(10002)
144
    6
145
    >>> int((2**25) % 17)
146
    2
147
    >>> int(mod_obj_17(2**25))
148
    2
149
    >>> int((-2**25) % 17)
150
    15
151
    >>> int(mod_obj_17(-2**25))
152
    15
153
    >>> int((-2**31-1) % 17)
154
    7
155
    >>> int(mod_obj_17(int(-2**31-1)))
156
    7
157
    >>> int((2**50) % 17)
158
    4
159
    >>> int(mod_obj_17(2**50))
160
    4
161
    >>> int((-2**50) % 17)
162
    13
163
    >>> int(mod_obj_17(-2**50))
164
    13
165
    >>> int((-2**63-1) % 17)
166
    7
167
    >>> int(mod_obj_17(-2**63-1))
168
    7
169
    >>> int((2**200) % 17)
170
    1
171
    >>> int(mod_obj_17(2**200))
172
    1
173
    >>> int((-2**200) % 17)
174
    16
175
    >>> int(mod_obj_17(-2**200))
176
    16
177
    """
178
    int1 = int2 % 17
179
    return int1
180

181

182
def mod_int_17(int int2):
183
    """
184
    >>> 0 % 17
185
    0
186
    >>> mod_int_17(0)
187
    0
188
    >>> 1 % 17
189
    1
190
    >>> mod_int_17(1)
191
    1
192
    >>> (-1) % 17
193
    16
194
    >>> mod_int_17(-1)
195
    16
196
    >>> 9 % 17
197
    9
198
    >>> mod_int_17(16)
199
    16
200
    >>> 17 % 17
201
    0
202
    >>> mod_int_17(17)
203
    0
204
    >>> (-17) % 17
205
    0
206
    >>> mod_int_17(-17)
207
    0
208
    >>> (-18) % 17
209
    16
210
    >>> mod_int_17(-18)
211
    16
212
    >>> 10002 % 17
213
    6
214
    >>> mod_int_17(10002)
215
    6
216
    >>> int((2**25) % 17)
217
    2
218
    >>> int(mod_int_17(2**25))
219
    2
220
    >>> int((-2**25) % 17)
221
    15
222
    >>> int(mod_int_17(-2**25))
223
    15
224
    """
225
    int1 = int2 % 17
226
    return int1
227

228

229
def mod_obj_m2(int2):
230
    """
231
    >>> 0 % -2
232
    0
233
    >>> mod_obj_m2(0)
234
    0
235
    >>> 1 % -2
236
    -1
237
    >>> mod_obj_m2(1)
238
    -1
239
    >>> 9 % -2
240
    -1
241
    >>> mod_obj_m2(9)
242
    -1
243
    """
244
    int1 = int2 % -2
245
    return int1
246

247

248
def mod_obj_m2f(obj2):
249
    """
250
    >>> 0 % -2.0 == 0.0    # -0.0 in Py2.7+
251
    True
252
    >>> mod_obj_m2f(0)
253
    -0.0
254
    >>> 1 % -2.0
255
    -1.0
256
    >>> mod_obj_m2f(1)
257
    -1.0
258
    >>> 9 % -2.0
259
    -1.0
260
    >>> mod_obj_m2f(9)
261
    -1.0
262
    """
263
    result = obj2 % -2.0
264
    return result
265

266

267
def modint(int int2, int int3):
268
    """
269
    >>> modint(9,2)
270
    1
271
    """
272
    cdef int int1
273
    int1 = int2 % int3
274
    return int1
275

276

277
def modptr():
278
    """
279
    >>> modptr()
280
    b'spameggs'
281
    """
282
    cdef char *str2, *str3
283
    str2 = "spam%s"
284
    str3 = "eggs"
285
    obj1 = str2 % str3
286
    return obj1
287

288

289
def mod_bigint(obj):
290
    """
291
    >>> mod_bigint(3316000000000)
292
    319
293
    """
294
    result = obj % 999
295
    return result
296

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.