首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >破损计算器

破损计算器
EN

Code Golf用户
提问于 2013-11-19 21:52:48
回答 3查看 918关注 0票数 4

函数接收5个号码,我们称之为a,b,c,d和e

你必须显示两个数字。

第一个是((a+ b) - c) * d) %e=f

第二个是((a+ b) - c) *d- f) /e

代码语言:javascript
复制
Input:             Output:
7  5  9  3 8       1 1
1  2  3  4 5       0 0
19 25 9  7 11      3 22
21 12 99 3 13      -3 -15
21 12 99 3 -4      -2 49

要求:计算时不得使用“+”-“*”/“符号”(或等效符号)。但是,在进行计算时,可以使用'%‘符号(或等效符号)。

同等地,我的意思是不允许您使用诸如BigInteger.add()这样的函数(我正在查看您的java用户)。

最短代码获胜。

编辑:正如彼得所建议的那样。所有输入数字都是int,永远不会是0。

EN

回答 3

Code Golf用户

回答已采纳

发布于 2013-11-22 08:50:20

Mathematica,54个字符

我只是用点产品。

代码语言:javascript
复制
f={Mod@##,Quotient@##}&[{{#,#2,#3}.{1,1,-1}}.{#4},#5]&

示例:

代码语言:javascript
复制
f[19, 25, 9, 7, 11]

{3,22}

票数 3
EN

Code Golf用户

发布于 2013-11-22 07:08:21

Forth,323 chars

代码语言:javascript
复制
: u 2dup ;
: p swap ;
: t -rot ;
: a u xor t and begin ?dup while 2* u xor t and repeat ;
: n invert 1 a ;
: m dup 0 < if p n p n then 0 p 0 ?do over a loop nip ;
: d dup 0 < t p dup 0 < t abs p abs p 0
begin t u <= while over n a rot 1 a repeat 2drop t xor if n then ;
: y 4 roll 4 roll a 3 roll n a rot m p u mod . d . ;

禁止的算术运算用二进制运算来定义。核心词组mod被用作%的等效词。

最后一个单词y是顶层函数,它接受五个数字并输出两个数字作为输出。

票数 5
EN

Code Golf用户

发布于 2013-11-20 05:44:14

C++ 503字符

代码语言:javascript
复制
#include<iostream>
#define I int
#define R return
#define T (I x,I y)
I A T{I a,b;do{a=x&y;b=x^y;x=a<<1;y=b;}while(a);R b;}
I N(I v){R A(~v,1);}
I S T{R A(x,N(y));}
I V(I v){R v<0?N(v):v;}
I M T{I a=0;I i=0;while(i<V(x)){i=A(i,1);a=A(a,y);}R x<0?S(0,a):a;}
I D T{I a=0;x=y==0?0:x;while(M(V(y),a)<V(x))a=A(a,1);R M(y==0?0:S(A(a,1),(x%y==0?1:2)),x<0^y<0?N(1):1);}
void C(I a,I b,I c,I d,I e){I g,f;f=(g=M(S(A(a,b),c),d))%e;std::cout<<f<<' '<<D(S(g,f),e);}
I main(I a){I b,c,d,e;std::cin>>a>>b>>c>>d>>e;C(a,b,c,d,e);}

我得到的结果和你的例子一样,除了最后两个,我分别得到-3 -15和-2 49。这是我从下面得到的同样的结果..。

代码语言:javascript
复制
int f = (((a + b) - c) * d) % e;
std::cout << f << ' ' << (((a + b) - c) * d - f) / e;
票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/15339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档