- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 2021-06-11
输入被减数和减数,两个数为不超过200位的整数.,每行1个,输出差. 输入: 5324345634734328432 632345667456834 输出: 5323713289066871598 #include <iostream> #include <cstdio> #include <string> #include <cstring> #include <algorithm> #include <cmath> #defi.
2021-06-11 16:51:04
48
原创 2021-06-10
1.高精度加法 问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[0]+B[0])%10。.
2021-06-10 17:38:27
89
原创 2021-06-10
把数字1...n分别填在n张牌上,背面朝上洗牌打乱顺序,排成一列,游戏过程是先随便猜一个数k,把第k张牌翻开,显示的数字为x,则接着翻开第x张牌,如此循环翻下去,直到要翻开的那个位置的牌之前已经被翻开过为止。统计一共翻开的牌上的数字的和作为得分。 输入数据共2行,第一行两个数,第一个为n,n<=1000,第2个数为k,即首先要翻开的位置。第二行n个整数,分别空格隔开。 样例 输入: 10 3 5 3 8 6 9 4 1 7 2 10 输出: 35 //说明:翻开的牌:8+7+1+5+9.
2021-06-10 17:27:46
132
原创 2021-06-10
#include<iostream> using namespace std; int main(){ int n,x,i,j,k,id[101]={0},math[101]={0},english[101]={0},z[101]={0}; cin>>n; for(i=1;i<=n;i++){ cin>>id[i]>>math[i]>>english[i]; z[i]=math[i]+english[i]; } fo.
2021-06-10 16:59:01
41
原创 2021-06-10
#include<iostream> #include<fstream> #include <stdlib.h> #include <string.h> using namespace std; int main(){ string s,a,b; getline(cin,s); int k=0; while (int(s[k])>=48 &&int(s[k])<=57)k++; a=s..
2021-06-10 16:55:15
36
原创 2021-06-09
有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数)。要求从 n 个物品中,任取若千个装入箱内,使箱子的剩余空间为最小。 输入格式 : 第一行,一个整数,表示箱子容量; 第二行,一个整数,表示有n个物品; 接下来n行,分别表示这n个物品的各自体积。 输出格式: 一个整数,表示箱子剩余空间 #include<cstdio> #include<iostream> using namespace std; int v=2000.
2021-06-09 17:54:32
74
原创 2021-06-09
把自然数m分解为若干个自然数的和,输出每一种分法,从小到大排列. 样例: 输入:5 输出: 5=1+1+1+1+1 5=1+1+1+2 5=1+1+3 5=1+2+2 5=1+4 5=2+3 5=5 #include<iostream> using namespace std; int a[1000]={0}; int m; int f(int k,int n){ if(n==0){ cout<<m<<"="<<a[1]; for(int .
2021-06-09 17:53:57
54
原创 2021-06-09
二分查找的递归算法: 已知n个整数,已经从小到大排列好,现在想找整数s在数列中出现的位置,如果没有输出-1.输入数据共2行,第一行为n 和s空格分开,第二行为从小到大排好的n个整数,空格隔开。 输入: 10 23 3 5 8 16 20 23 65 89 401 854 输出:6 ccccc7. 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理 l·不作任何处理: 2·茬它的左边加上一个自然数,但该自然数不能超.
2021-06-09 17:53:21
56
原创 2021-06-09
#include<iostream> using namespace std; int a[10000]={0}; int f(int l,int r,int x){ int k=(l+r)/2; if(l>r)return -1; if(a[k]==x)return k; if(x<a[k])f(l,k-1,x); else f(k+1,r,x); } int main(){ int i,n,s,t; scanf("%d %d",&n,&s); f.
2021-06-09 17:52:22
39
原创 2021-06-09
#include<iostream> #include<iomanip> using namespace std; int main(){ int n,i,j,k,a[1001]; cin>>n; for(i=1;i<=n;i++)cin>>a[i]; for(i=1;i<=n-1;i++) for (j=1;j<=n-i;j++) if(a[j]>a[j+1]){ k=a[j]; .
2021-06-09 17:51:00
51
原创 2021-06-09
#include<iostream> using namespace std; int main(){ int n; int f(int k,int x,int y,int z){ if(k>=n)return z; f(k+1,y,z,y+z) } int main(){int p; cin>>n; if(n==1||n==2)cout<<1; else p=f(3,1,1,2); cout<<p; return 0; } .
2021-06-09 17:46:55
42
原创 2021-06-09
已知数列1,1,3,1,3,5,1,3,5,7,.....例如第5项的值是3,求第n 项的值. #include<iostream> using namespace std; int n; int f(int k,int x,int y,int z){//k表示当前来到数列第k项,x表示当前项处于第x周期,y是当前项处于当前周期中的第y项,z表示当前项的值 // cout<<z<<" "; if(k==n)return z; if(x==y)f(k+1,x+.
2021-06-09 17:41:39
35
原创 2021-06-09
#include<iostream> using namespace std; int f(int x,int y){ int k; k=x+y; return k; } int main(){ int a,b,c; cin>>a>>b; c=f(a,b); cout<<c; return 0; }
2021-06-09 17:39:26
38
原创 2021-06-09
递归算法 #include<iostream> using namespace std; int f(int k){ if (k==1)return 1; else return f(k-1)+k; } int main(){int n; cin>>n; int s=f(n); cout<<s; }
2021-06-09 17:17:48
34
原创 2021-06-09
简单数列2 #include <cstdio> #include <vector> #include <algorithm> using namespace std; int main() ...
2021-06-09 17:12:22
49
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人