|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问我的问题出在哪里?
- #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;
- }
复制代码
本帖最后由 jackz007 于 2022-10-4 16:41 编辑
- #include <stdio.h>
- main(void)
- {
- unsigned long long b , i , sum ;
- for(b = 1 , i = sum = 0 ; i < 64 ; b *= 2 , i ++) sum += b ;
- printf("舍罕王应该给予达依尔 [%I64u] 粒麦子!\n" , sum) ;
- printf("如果每 25000 粒麦子为 1 kg ,那么应该给 [%I64u] kg 麦子!\n", sum / 25000LL) ;
- }
复制代码
编译、运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o x x.c
- D:\[00.Exerciese.2022]\C>x
- 舍罕王应该给予达依尔 [18446744073709551615] 粒麦子!
- 如果每 25000 粒麦子为 1 kg ,那么应该给 [737869762948382] kg 麦子!
- D:\[00.Exerciese.2022]\C>
复制代码
|
|