Loser_YiMo 发表于 2021-5-2 12:08:07

舍罕王的失算问题求助

因为我已经学习过while语句和for语句,我看到题目的时候第一想的是用while循环来做,具体代码如下:
#include <stdio.h>
#include <math.h>

int main()
{
        int a;
        unsigned long long b;
        unsigned long long c;
        a = 0;

        while (a < 64)
        {
                b = pow(2,a);
                c = b + c;
                a = a + 1;
        }

       
        printf("%u\n", c);
        return 0;
}

结果始终为4294967295
尽管设置一个宽度为%11u,也是这个数据前多了个空格
而小甲鱼的代码中结果有20位之多!

人造人 发表于 2021-5-2 12:32:48

%11u 可还行
你是否能区分下面这些字符?
1 l | \ ` , .
0 O o

也许你把 数字 0 写成 小写字母 o,你看起来差不多,但是计算机看起来却是完全不一样的

%llu 这个是两个小写字母 L
换一个适合编程的字体,遇到这些字符的时候仔细盯着屏幕看,看看究竟是哪一个

Loser_YiMo 发表于 2021-5-2 12:39:53

人造人 发表于 2021-5-2 12:32
%11u 可还行
你是否能区分下面这些字符?
1 l | \ ` , .


ll是 long long的意思嘛

人造人 发表于 2021-5-2 13:16:05

Loser_YiMo 发表于 2021-5-2 12:39
ll是 long long的意思嘛

我没有找到官方的资料,不过要我猜的话,我想应该就是 long long
页: [1]
查看完整版本: 舍罕王的失算问题求助