首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cs50信用环路问题的除数

cs50信用环路问题的除数
EN

Stack Overflow用户
提问于 2019-02-23 12:23:08
回答 1查看 200关注 0票数 0

我在处理CS50的信贷问题。我在找这个数字的倒数第二位。例如,4003600000000014.It应为4,0,6,0,0,0,0,1。我被这个循环搞糊涂了。当我使用数字,例如1,2,...15来代替2i-1时,它起作用了。但在这个循环中,它不起作用。它给了我6,6,6,6,6,6,6,6谢谢你的帮助!

`

代码语言:javascript
复制
long answer=get_long("Number: ");
int i;
long a;

for (i=1; i<9 ; i++)
{
    a= fmod((answer / (pow(10,2i-1))),10);
    printf("%ld\n",a)
}   

`

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-23 12:25:43

表达式2i-1并不是您想的那样。

2i实际上是一个复数常量。然后,当您将复数值2i-1传递给pow时,虚部被截断,传递的实际值为-1

将两个数字/变量相乘时,必须使用*运算符:

代码语言:javascript
复制
2*i-1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54838212

复制
相关文章

相似问题

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