移动互联和网站开发哪个好,重庆装修公司排行榜,点匠网站开发流程,建立个公司网站文章目录 DAY301字串判断闰年Fibonacci数列圆的面积序列求和 DAY3
01字串
【题目描述】 对于长度为5位的一个01串#xff0c;每一位都可能是0或1#xff0c;一共有32种可能。它们的前几个是#xff1a; 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。… 文章目录 DAY301字串判断闰年Fibonacci数列圆的面积序列求和 DAY3
01字串
【题目描述】 对于长度为5位的一个01串每一位都可能是0或1一共有32种可能。它们的前几个是 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。
【输入格式】 本试题没有输入。
【输出格式】 输出32行按从小到大的顺序每行一个长度为5的01串。
【输入样例】 【输出样例】
00000
00001
00010
00011
以下部分省略【数据规模与约定】 1 n 10000
【解题思路】 遍历0~31将每个数进行进制转换然后转换的每一位数存储在数组中之后打印数组。
【C程序代码】
#includebits/stdc.h
using namespace std;int main()
{for (int i 0; i 32; i){int binary[5] { 0 };int tmp i;int k 4;while (tmp){binary[k--] tmp % 2;tmp / 2;}for (int c 0; c 5; c){cout binary[c];}cout endl;}return 0;
}判断闰年
【题目描述】 给定一个年份判断这一年是不是闰年。 当以下情况之一满足时这一年是闰年
年份是4的倍数而不是100的倍数年份是400的倍数。 其他的年份都不是闰年。
【输入格式】 输入包含一个整数y表示当前的年份。
【输出格式】 输出一行如果给定的年份是闰年则输出yes否则输出no。
说明当试题指定你输出一个字符串作为结果比如本题的yes或者no你需要严格按照试题中给定的大小写写错大小写将不得分。
【输入样例】
20132016【输出样例】
noyes【数据规模与约定】 1990 y 2050
【解题思路】 能被4整除不能被100整除的以及能被400整除的年份是闰年。
【C程序代码】
#includebits/stdc.h
using namespace std;int main()
{int year;cin year;if ((year % 4 0 year % 100 ! 0) || year % 400 0){cout yes endl;}else{cout no endl;}return 0;
}Fibonacci数列
【题目描述】 Fibonacci数列的递推公式为FnF(n-1)F(n-2)其中F1F21。 当n比较大时Fn也非常大现在我们想知道Fn除以10007的余数是多少。
【输入格式】 输入包含一个整数n。
【输出格式】 输出一行包含一个整数表示Fn除以10007的余数。
说明在本题中答案是要求Fn除以10007的余数因此我们只要能算出这个余数即可而不需要先计算出Fn的准确值再将计算的结果除以10007取余数直接计算余数往往比先算出原数再取余简单。
【输入样例】
1022【输出样例】
557704【数据规模与约定】 1 n 1,000,000
【解题思路】 对于斐波那契数列而言前两个数都为1而从第三个数开始其值都等于前两个数字之和。
【C程序代码】
#includebits/stdc.husing namespace std;int main()
{vectorint fn(1000000);fn[1] fn[2] 1;int n;cin n;for (int i 3; i n; i){fn[i] fn[i - 1] fn[i - 2];}//cout fn[n] endl;cout fn[n] % 10007 endl;return 0;
}圆的面积
【题目描述】 给定圆的半径r求圆的面积。
【输入格式】 输入包含一个整数r表示圆的半径。
【输出格式】 输出一行包含一个实数四舍五入保留小数点后7位表示圆的面积。
说明在本题中输入是一个整数但是输出是一个实数。 对于实数输出的问题请一定看清楚实数输出的要求比如本题中要求保留小数点后7位则你的程序必须严格的输出7位小数输出过多或者过少的小数位数都是不行的都会被认为错误。 实数输出的问题如果没有特别说明舍入都是按四舍五入进行。
【输入样例】
4【输出样例】
50.2654825【数据规模与约定】 1 r 10000
【提示】 本题对精度要求较高请注意π的值应该取较精确的值。你可以使用常量来表示π比如PI3.14159265358979323也可以使用数学公式来求π比如PIatan(1.0)*4。
【解题思路】 求圆的面积公式半径的平方乘以圆周率。
【C程序代码】
#includebits/stdc.husing namespace std;int main()
{int r;cin r;double pi 3.14159265358979323;double s pi * pow(r, 2);printf(%.7f\n, s);return 0;
}序列求和
【题目描述】 求123…n的值。
【输入格式】 输入包括一个整数n。
【输出格式】 输出一行包括一个整数表示123…n的值。
【输入样例】
4【输出样例】
10【数据规模与约定】 1 n 1,000,000,000
【提示】 说明请注意这里的数据规模。 本题直接的想法是直接使用一个循环来累加然而当数据规模很大时这种“暴力”的方法往往会导致超时。此时你需要想想其他方法。你可以试一试如果使用1000000000作为你的程序的输入你的程序是不是能在规定的上面规定的时限内运行出来。 本题另一个要值得注意的地方是答案的大小不在你的语言默认的整型(int)范围内如果使用整型来保存结果会导致结果错误。 如果你使用C或C语言而且准备使用printf输出结果则你的格式字符串应该写成%I64d以输出long long类型的整数。
【解题思路】 等差数列求和公式((首项 末项) * 项数) / 2
【C程序代码】
#includebits/stdc.h
using namespace std;int main()
{long long int n;cin n;long long int sum ((1 n) * n) / 2;cout sum;return 0;
}