牵风 发表于 2021-8-18 19:12:31

小白求救

#include <stdio.h>
#include <math.h>

int main()
{
      unsigned long long sum = 0;
      unsigned long long temp;
      unsigned long long weight;
      int i;

      for (i=0; i < 64; i++)
      {
                temp = pow(2, i);
                sum = sum + temp;
      }

      weight = sum / 25000;

      printf("舍罕王应该给予达依尔%llu粒麦子!\n", sum);
      printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n", weight);

      return 0;
}这个变量的声明有点懵

wp231957 发表于 2021-8-18 19:55:07

这就是一个数据类型,它可以容纳更大的数据
比如2的63次幂,记住就可以了

wangka 发表于 2021-8-18 20:23:26

首先,math.h n能让你使用幂的运算(现在会用到的),unsigned是让数字成为无符号数(非负数)扩大了容量的一倍,long 能扩大变量大小,unsigned long long那这数字可以很大了。
懂了吗{:10_254:}
求最佳!!

万千只cnm 发表于 2021-8-18 20:53:04

是整型 long 相当于 long int
以此类推 unsigned 表示无符号数
页: [1]
查看完整版本: 小白求救