国王的麦子,老题目,c语言(dev-c++),要高精度,输入第n格,输出那一格麦子数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了国王的麦子,老题目,c语言(dev-c++),要高精度,输入第n格,输出那一格麦子数相关的知识,希望对你有一定的参考价值。

#include<stdio.h>

int main()

int i,n,a,b,c;

a=b=0;

c=1;

scanf("%d",&n);

for(i=1;i<n;i++)

c*=2;

b=b*2+c/1000000000;

c=c%1000000000;

a=a*2+b/1000000000;

b=b%1000000000;

if(a)printf("%d%09d%09d\\n",a,b,c);

else if(b)printf("%d%09d\\n",b,c);

else printf("%d\\n",c); 

return 0;

参考技术A #include <stdio.h>

int main()

double m=1;
int n;
int i;
scanf("%d",&n);
for(i=1;i<n;i++)

m *=2;

printf("sum=%0.0lf\\n",m);//第n格麦子的数量
return 0;

追问

高精度啊!

追答

是的啊 double了 请问你的n最大是多少呢

追问

是要用字符输入,转化为整型数组,再计算,输出

参考技术B #include<iostream>
#include<string>
#include<algorithm>

using namespace std;

string mutiply(string str);

int main()

    int num;
cin >> num;
string result;
result.push_back('2');

for (int i = 0; i < num; ++i)

cout << result << endl;
result = mutiply(result);



string mutiply(string str)

    reverse(str.begin(), str.end());
    string result;
    char pfront('0'), mfront('0'), tmp;
    int temp_result;
    
    for (unsigned int i = 0; i < str.size(); ++i)    
    
        temp_result = 2 * (str[i] - '0');
        tmp = (temp_result % 10 + mfront - '0') % 10 + '0';
        result.push_back(tmp);      
        pfront = (temp_result % 10 + mfront - '0') / 10 + '0';
        mfront = (temp_result / 10 + pfront - '0') + '0';
    
    
    if (mfront != '0')
        result.push_back(mfront);
reverse(result.begin(), result.end());
return result;


//高精度都是基于用字符串模拟乘法的思路来实现的,可以参考下哈

Android JNI编程——JNI概念以及C语言Dev-C++开发环境搭建编写HelloWorld

目录(?)[+]

一:JNI是什么呢?

JNI:JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++) ,简单来说就是Java调C,C调Java。
技术分享

二:开始搭建我们的开发环境,也是非常的简单的

Dev-C++工具下载,安装一路默认到Finish就ok了。

工欲善其事,必先利其器。
调整字体大小:菜单栏下 Tools–>Editor Options这里面的Font和Color就可以更改字体和颜色了
快捷键查看与修改:菜单栏下 Tools–>Configure Shortcuts…就可以查看所有的快捷键了
修改工具语言: Tools–>Environment Options 在右侧就可以看到一个Language了
技术分享

三:现在我们就可以开始写我的第一个C程序了

//相当于java的import  stdio: standard input$output标准输入输出
//.h头文件格式,包含一些函数
#include<stdio.h>
//导入标准的C语言函数库
#include<stdlib.h>
int main() {
    //输出函数
    printf("Hello World! \n");

    //使docs窗口停留
    system("pause");
    return 0;
}
//这里int 和return 0;可以省略不写

四:上面代码一执行电脑就会弹个docs窗口给你了说明你成功了,可以看到一个HelloWorld了。

技术分享

五:既然他打开的docs命令行,那我们来玩几个好玩的

#include<stdio.h>
#include<stdlib.h>
main() {
    //打开计算器,相当于在运行输入框输入calc
    system("calc");

    //使docs窗口停留
    system("pause");
}

程序一运行你就会发现他帮你打开了计算器是不是很神奇,同时你还可以打开记事本、画板之类的。

到这里我们的HelloWorld程序就大功告成了,接下来我们将继续向下学习喜欢的朋友一起来互相伤害。







以上是关于国王的麦子,老题目,c语言(dev-c++),要高精度,输入第n格,输出那一格麦子数的主要内容,如果未能解决你的问题,请参考以下文章

LQ0262 棋盘放麦子大数+亿进制

棋盘上的麦子励志故事

放麦子 你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,

这是1张棋盘,共64格,第1格放1粒麦子,第2格放2粒麦子,第3格放4粒麦子……麦子放到第几格就超过1亿粒了。

应用让Dev-C++ 支持C++20标准

C语言++符号的问题!vc++6.0和Dev-C++运行结果不一致!