acwing 428 数列 ——练习二进制位运算与二进制映射比较经典的题目
摘要:给定一个正整数k,把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13,… 该序列实际上就是:30,31,30+31,32,30+32,31+32,30+31+32,…30,31,30+31,32,30+32,31+32
阅读全文
换钱问题(经典枚举样例)
摘要:Ø 要将一张100元的大钞票,换成等值的10元、5元、2元、1元一张的小钞票,每次换成40张小钞票,每种至少1张。如,有一种换法: Ø 10元: 1 张 Ø 5元: 5 张 Ø 2元: 31 张 Ø 1元: 3 张 Ø问:一共有多少种换法。 数学模型: Ø10元: a 张 (不超过10张) Ø 5元
阅读全文
1943(2.1)
摘要:分析:枚举 条件: 1<a,b,c<=100; a<=b; a*a + b*b = c*c 枚举 a:2~100;b:a~100. 根据输出要求,先枚举a,再枚举b #include<cstdio> #include<cmath> int main(){ int a,b,c; for (int a=
阅读全文
1813(2.1)
摘要:枚举的第5题,咋一看没有思路。仔细研究样列,又找到了该游戏 ,实践了一下,才稍微有些思路。 实际上答案基本在题干中:根据上面的规则,我们知道1)第2次按下同一个按钮时,将抵消第1次按下时所产生的结果。因此,每个按钮最多只需要按下一次;2)各个按钮被按下的顺序对最终的结果没有影响;3)对第1行中每盏点
阅读全文
1812
摘要:分析: 首先考虑枚举那些量,如果四个变量全部枚举,则肯定超时。 那么是枚举bcd呢,还是枚举其它? 输出要求:请按照a的值,从小到大依次输出。当两个完美立方等式中a的值相同,则b值小的优先输出、仍相同则c值小的优先输出、再相同则d值小的先输出。 据此最好按 abc的顺序枚举,其中a>c>=b. 另外
阅读全文
1809两倍(2.1)
摘要:数据非常小,直接枚举即可! #include<cstdio> int a[30]; int main(){ int n=1; scanf("%d",&a[n]); while (a[n]!=0){ n++; scanf("%d",&a[n]); } n=n-1; int sum=0; for (in
阅读全文
1752:鸡兔同笼(2.1)
摘要:最朴素的方法: #include<cstdio> int main(){ int a,maxn=-1,minn=32769; scanf("%d",&a); if (a%2==0) maxn=a/2; if (a%4==0) minn=a/4; for (int t=1;t<=a/4;t++) fo
阅读全文
1749:数字方格(2.1)
摘要:简单枚举 数据范围: (0 <= n <= 100) 所以不需要加任何优化 #include<iostream> #include<cstdio> int main(){ int maxh=-100,a1,a2,a3,n; scanf("%d",&n); for (int i=n;i>=0;i--)
阅读全文
uva11059
摘要:除法(Division,uva725)输入整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列(可以有前导0),2#includeusing namespace std;int a[30];int main(){int n,m=0;while ...
阅读全文
uva725
摘要:除法(Division,uva725) 输入整数n,,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列(可以有前导0), 输入:多组数据,最后以0作为结束标记 输出:每组数据间用空行隔开,如果无解则输出 ``There are no solutio
阅读全文