links:
求給定數字能表示成多少組質數之和,如47可以表示成2+3+5+7+11+13, 11+13+17, 41這三組。
先處理質數,然後尺取法。
#include
#include
#include
#include
using
namespace
std;
int prim[10000];
int primnum;
void isprim()
}if (is)
}}int main()
else
if(sumelse
if (sum>n)
}printf("%d\n", ans);
}return
0;}
問給定數字能表示成多少組連續數字的平方和。
如:2030=25^2+26^2+27^2
=21^2+22^2+23^2+24^2
也是尺取法,一開始用陣列存答案,不知為何會超時,後來看別人的改用stl容器和pair存答案就過了。
#include
#include
#include
#include
#include
using
namespace
std;
vector
long
long, long
long> > ans;
//int ans[1000];
//int ans2[1000];
int ansnum;
int main()
else
if (sum < n)
else
}ansnum = ans.size();
printf("%d\n", ansnum);
for (int i = 0; i < ansnum; i++)
puts("");}}
return
0;}
翻水杯,每次翻動會把左右兩邊的水杯翻轉,為了不影響前面已經翻好的水杯,每當有乙個水杯是1,就翻它後面那乙個就行,分別從左邊翻和右邊翻,最小值為答案。
#include
#include
using
namespace
std;
bool line[21];
bool line2[21];
int main()
int ans = 0;
int ans1 = 0;
for (int i = 0; i < 20; i++)
}for (int i = 20; i >= 1; i--)
}cout
<< (ansreturn
0;}
二維版翻水杯,每次翻動會使上下左右四個都翻轉,演算法書上有講過,列舉第一排的翻轉方式,就可以確定下面的翻轉,最後遍歷看有沒有全部翻轉正確,得出答案。
#include
#include
#include
#include
using
namespace
std;
intmap[7][8];
int ans[7][8];
int bmap[7][8];
bool cal(int k)
}for (int j = 1; j <= 6; j++)
}for (int i = 2; i <= 5; i++)}}
for (int i = 1; i <= 5; i++)}}
return
true;
}int main()
}for (int i = 0; i < 64;i++)
}printf("puzzle #%d\n", t + 1);
for (int i = 1; i <= 5; i++)
else}}
}return
0;}
在給定數列裡找出滿足a+b+c=d。的最大的d
題解是變成a+b=d-c,滿足c>a>b但是由於數字有正有負,所以d可能比abc都小。
所以列舉d和c,尺取法找a和b。
c從2開始列舉
#include
#include
#include
#include
using
namespace
std;
int num[1005];
int main()
sort(num, num + n);
int sum,ans;
bool y = false;
for (int i = n - 1; i >=0; i--)
sum = num[i] - num[j];
int b = j - 1, a = 0;
while (a < b)
else
if (sum > num[a] + num[b])
else
}if (y == true)break;
}if (y == true)break;
}if (y == false)
else
}return
0;}
SICP練習 32 練習1 38
練習1.38 我最喜歡做數學上的觀察題了,這裡也有乙個di,其依次為1,2,1,1,4,1,1,6,1,1,8 我最先看到的是除了一開始的2個之外,每三個數字的規律是前面是兩個1,後面是個遞增的偶數。於是我們便可輕而易舉的寫出這個函式了。define d i if remainder i 2 3 0...
TRACE32除錯技巧
1.除錯步驟 l 連線好 trace32 icd 和目標板,注意不要帶電插拔 jtag 容易損壞 trace32 或目標板,然後依次開啟 trace32 icd 和目標板的電源。l 開啟除錯軟體 trace32 l 設定 cpu 型別,狀態等,可以通過命令或選單,命令如下 sys.reset sys...
Day3 2if語句練習
1.寫出判斷乙個數是否能夠同時被3和7整除的語句,並且列印輸出結果 num int input 請輸入數字 if num 3 0and num 7 0 print num else print 傻子,不可以 2.寫出判斷乙個數是否能被3或者7整除,但是不能同時被3或7整除的條件語句,並列印出對應的結...