商丘做网站优化,八面通网站建设,常州专业网站建设,西安莲湖区建设局网站#5062. 找和为K的两个元素
题目描述
在一个长度为n#xff08;n1000#xff09;的整数序列中#xff0c;判断是否存在某两个元素之和为k。
输入格式
第一行输入整数序列的长度n和k#xff0c;n和k以空格间隔。
第二行输入整数序列中的n个整数#xff0c;整数以空…#5062. 找和为K的两个元素
题目描述
在一个长度为nn1000的整数序列中判断是否存在某两个元素之和为k。
输入格式
第一行输入整数序列的长度n和kn和k以空格间隔。
第二行输入整数序列中的n个整数整数以空格间隔。
输出格式
如果存在某两个元素的和为k则输出“yes”否则输出“no”。
样例
样例输入
复制9 10
1 2 3 4 5 6 7 8 9样例输出
复制yes
#include bits/stdc.h
using namespace std;
int main()
{int n,k;cinnk;int a[1010];for(int i 0;in;i){cina[i];}for(int i 0;in-1;i){for(int j i1;jn;j){if(a[i]a[j]k){coutyes;return 0;}}}coutno;return 0;
} #4298. 「2023.05 三级」硬币面值组合
题目描述
使用1角、2角、5角硬币组成 n 角钱。
设1角、2角、5角的硬币各用了a、b、c个列出所有可能的a, b, c组合。
输出顺序为先按c的值从小到大若c相同则按b的值从小到大。
输入格式
一个整数n1 n 100)代表需要组成的钱的角数。
输出格式
输出有若干行每行的形式为 i a b c 第1列i代表当前行数行数从001开始固定3个字符宽度宽度不足3的用0填充后面3列a, b, c分别代表1角、2角、5角硬币的个数每个数字固定12个字符宽度宽度不足的在左边填充空格。
样例
样例输入
复制10样例输出
复制001 10 0 0
002 8 1 0
003 6 2 0
004 4 3 0
005 2 4 0
006 0 5 0
007 5 0 1
008 3 1 1
009 1 2 1
010 0 0 2
#include bits/stdc.h
using namespace std;
int main()
{int n;int cnt 1;cinn;for(int i 0;in/5;i){for(int j 0;j(n-i*5)/2;j){for(int k 0;k(n-i*5-j*2)/1;k){if(i*5j*2k*1n){if(cnt/100) cout00cnt;else if(cnt/1000) cout0cnt;else if(cnt/10000) coutcnt;coutsetw(12)k;coutsetw(12)j;coutsetw(12)i;coutendl;cnt;}}}}return 0;
} #6171. 分解因数
题目描述
给出一个正整数 a要求分解成若干个正整数的乘积即 aa1×a2×a3×...×an并且 1a1≤a2≤a3≤...≤an 问这样的分解的种数有多少。
注意到aa也是一种分解。
输入格式
第1行是测试数据的组数n后面跟着n行输入。每组测试数据占1行包括一个正整数a(1a32768)。
输出格式
行每行输出对应一个输入。输出应是一个正整数指明满足要求的分解的种数。
样例
样例输入
复制2
2
20样例输出
复制1
4
#include bits/stdc.h
using namespace std;
int aaa(int,int,int);
int main()
{int n;cinn;int a[200];for(int i 0;in;i){cina[i];}for(int i 0;in;i){coutaaa(a[i],2,0)endl;}return 0;
}
int aaa(int n,int k,int cnt)
{if(n1){cnt;return cnt;}for(int i k;in;i){if(n%i0){cnt cntaaa(n/i,i,0);}}return cnt;
} #4299. 「2023.05 三级」数列
题目描述
用以下方式构造数列: 数列的第一个和第二个数都为1接下来每个数都等于前面2个数之和。
给出一个正整数a要求数列中第a个数对1000取模的结果是多少。
输入格式
第1行是测试数据的组数n后面跟着n行输入。每组测试数据占1行包括一个正整数a(1 a 1000000)。
输出格式
n行每行输出对应一个输入。输出应是一个正整数为数列中第a个数对1000取模得到的结果。
样例
样例输入
复制4
5
2
19
1样例输出
复制5
1
181
1
#include bits/stdc.h
using namespace std;
int b[1000010];
int main()
{int n;cinn;int a[1010];for(int i 0;in;i){cina[i];}b[1] 1;b[2] 1;for(int i 3;i1000000;i){b[i] (b[i-1]b[i-2])%1000;}coutendl;for(int i 0;in;i){coutb[a[i]]endl;}return 0;
} #1145. 和数
题目描述
给定一个正整数序列判断其中有多少个数等于数列中其他两个数的和。 比如对于数列 , 这个问题的答案就是 , 因为 。
输入格式
共两行第一行是数列中数的个数 n ( 1n100 )第二行是由 n 个不大于 10000 的正整数组成的数列相邻两个整数之间用单个空格隔开。
输出格式
一个整数即数列中等于其他两个数之和的数的个数。
样例
样例输入
复制4
1 2 3 4样例输出
复制2
#include bits/stdc.h
using namespace std;
int b[1000000];
int lb 0;
int main()
{int n;cinn;int a[110];int cnt 0;for(int i 0;in;i){cina[i];}for(int i 0;in;i){for(int j i;jn;j){for(int k 0;kn;k){if(a[i]a[j]a[k]i!jj!ki!k){bool f true;for(int l 0;llb;l){if(b[l]a[k]){f false;break;}}if(ftrue){cnt;b[lb] a[k];lb;}}}}}coutcnt;return 0;
} #203. 质数的和与积
题目描述
两个质数的和是 S它们的积最大是多少
输入格式
一个不大于10000000的正整数S为两个质数的和。
输出格式
一个整数为两个质数的最大乘积。数据保证有解。
样例
样例输入
复制50样例输出
复制589数据范围与提示
对于 50% 数据0S≤100000
对于 100% 的数据0S≤10000000
#include bits/stdc.h
using namespace std;
bool zhishu(int);
int main()
{long long int ma -99999;long long int s;cins;for(long long int i 2;i*2s1;i){if(zhishu(i)truezhishu(s-i)true){ma max(ma,i*(s-i));}}coutma;return 0;
}
bool zhishu(int n)
{if(n1) return false;if(n2) return true;for(int i 2;in;i){if(n%i0) return false;}return true;
} #4176. 爬楼
题目描述
已知楼梯的数量可以每次走2级或者3级求不同的走法数。
例如楼梯一共有7级一共3种方法2 2 3或者 2 3 2 或者 3 2 2。
输入格式
输入包含若干行每行包含一个正整数N代表楼梯级数1 N 50。 最后一行为0表示测试结束。
输出格式
不同的走法数每一行输入对应一行输出
样例
样例输入
复制5
7
0样例输出
复制2
3
#include bits/stdc.h
using namespace std;
int main()
{int n 0;int a[100];while(true){int t;cint;if(t0){break;}a[n] t;n;}int b[51];b[1] 0;b[2] 1;b[3] 1;for(int i 4;i50;i){b[i] b[i-2]b[i-3];}coutendl;for(int i 0;in;i){coutb[a[i]]endl;}return 0;
}