// 1 3 4 9 10 12 13 27
// 3^0 3^1 3^0+3^1 3^2 3^0+3^2 3^1+3^2 3^0+3^1+3^2 3^3
// 1 2 3 4 5 6 7 8
// 1b 10b 11b 100b 101b 110b 111b 1000b
// 把上面的二进制数为 1 的地方替换成 3 的相应【位】次方(从0开始)
// 并求和则得到相应的结果
#include <stdio.h>
int main(void) {
int k = 3, N, a, b, c = 0, cc, sum = 0, i, n;
for(n = 1; n <= 100; n++) {
N = n;
sum = 0;
c = 0;
cc = 0;
while(N) {
a = N % 2;
N /= 2;
if(a) {
cc++;
}
}
N = n;
while(N) {
a = N % 2;
N /= 2;
if(a) {
for(b = 1, i = 0; i < c; i++) {
b *= k;
}
sum += b;
printf("3^%d", c);
if(--cc) {
printf(" + ");
}
}
c++;
}
printf(" == %d 是第%d项\n",sum , n);
}
}
/*
C:\Users\Administrator>gcc -o TT_1_3_4_9_10_12 TT_1_3_4_9_10_12.c
C:\Users\Administrator>TT_1_3_4_9_10_12
3^0 == 1 是第1项
3^1 == 3 是第2项
3^0 + 3^1 == 4 是第3项
3^2 == 9 是第4项
3^0 + 3^2 == 10 是第5项
3^1 + 3^2 == 12 是第6项
3^0 + 3^1 + 3^2 == 13 是第7项
3^3 == 27 是第8项
3^0 + 3^3 == 28 是第9项
3^1 + 3^3 == 30 是第10项
3^0 + 3^1 + 3^3 == 31 是第11项
3^2 + 3^3 == 36 是第12项
3^0 + 3^2 + 3^3 == 37 是第13项
3^1 + 3^2 + 3^3 == 39 是第14项
3^0 + 3^1 + 3^2 + 3^3 == 40 是第15项
3^4 == 81 是第16项
3^0 + 3^4 == 82 是第17项
3^1 + 3^4 == 84 是第18项
3^0 + 3^1 + 3^4 == 85 是第19项
3^2 + 3^4 == 90 是第20项
3^0 + 3^2 + 3^4 == 91 是第21项
3^1 + 3^2 + 3^4 == 93 是第22项
3^0 + 3^1 + 3^2 + 3^4 == 94 是第23项
3^3 + 3^4 == 108 是第24项
3^0 + 3^3 + 3^4 == 109 是第25项
3^1 + 3^3 + 3^4 == 111 是第26项
3^0 + 3^1 + 3^3 + 3^4 == 112 是第27项
3^2 + 3^3 + 3^4 == 117 是第28项
3^0 + 3^2 + 3^3 + 3^4 == 118 是第29项
3^1 + 3^2 + 3^3 + 3^4 == 120 是第30项
3^0 + 3^1 + 3^2 + 3^3 + 3^4 == 121 是第31项
3^5 == 243 是第32项
3^0 + 3^5 == 244 是第33项
3^1 + 3^5 == 246 是第34项
3^0 + 3^1 + 3^5 == 247 是第35项
3^2 + 3^5 == 252 是第36项
3^0 + 3^2 + 3^5 == 253 是第37项
3^1 + 3^2 + 3^5 == 255 是第38项
3^0 + 3^1 + 3^2 + 3^5 == 256 是第39项
3^3 + 3^5 == 270 是第40项
3^0 + 3^3 + 3^5 == 271 是第41项
3^1 + 3^3 + 3^5 == 273 是第42项
3^0 + 3^1 + 3^3 + 3^5 == 274 是第43项
3^2 + 3^3 + 3^5 == 279 是第44项
3^0 + 3^2 + 3^3 + 3^5 == 280 是第45项
3^1 + 3^2 + 3^3 + 3^5 == 282 是第46项
3^0 + 3^1 + 3^2 + 3^3 + 3^5 == 283 是第47项
3^4 + 3^5 == 324 是第48项
3^0 + 3^4 + 3^5 == 325 是第49项
3^1 + 3^4 + 3^5 == 327 是第50项
3^0 + 3^1 + 3^4 + 3^5 == 328 是第51项
3^2 + 3^4 + 3^5 == 333 是第52项
3^0 + 3^2 + 3^4 + 3^5 == 334 是第53项
3^1 + 3^2 + 3^4 + 3^5 == 336 是第54项
3^0 + 3^1 + 3^2 + 3^4 + 3^5 == 337 是第55项
3^3 + 3^4 + 3^5 == 351 是第56项
3^0 + 3^3 + 3^4 + 3^5 == 352 是第57项
3^1 + 3^3 + 3^4 + 3^5 == 354 是第58项
3^0 + 3^1 + 3^3 + 3^4 + 3^5 == 355 是第59项
3^2 + 3^3 + 3^4 + 3^5 == 360 是第60项
3^0 + 3^2 + 3^3 + 3^4 + 3^5 == 361 是第61项
3^1 + 3^2 + 3^3 + 3^4 + 3^5 == 363 是第62项
3^0 + 3^1 + 3^2 + 3^3 + 3^4 + 3^5 == 364 是第63项
3^6 == 729 是第64项
3^0 + 3^6 == 730 是第65项
3^1 + 3^6 == 732 是第66项
3^0 + 3^1 + 3^6 == 733 是第67项
3^2 + 3^6 == 738 是第68项
3^0 + 3^2 + 3^6 == 739 是第69项
3^1 + 3^2 + 3^6 == 741 是第70项
3^0 + 3^1 + 3^2 + 3^6 == 742 是第71项
3^3 + 3^6 == 756 是第72项
3^0 + 3^3 + 3^6 == 757 是第73项
3^1 + 3^3 + 3^6 == 759 是第74项
3^0 + 3^1 + 3^3 + 3^6 == 760 是第75项
3^2 + 3^3 + 3^6 == 765 是第76项
3^0 + 3^2 + 3^3 + 3^6 == 766 是第77项
3^1 + 3^2 + 3^3 + 3^6 == 768 是第78项
3^0 + 3^1 + 3^2 + 3^3 + 3^6 == 769 是第79项
3^4 + 3^6 == 810 是第80项
3^0 + 3^4 + 3^6 == 811 是第81项
3^1 + 3^4 + 3^6 == 813 是第82项
3^0 + 3^1 + 3^4 + 3^6 == 814 是第83项
3^2 + 3^4 + 3^6 == 819 是第84项
3^0 + 3^2 + 3^4 + 3^6 == 820 是第85项
3^1 + 3^2 + 3^4 + 3^6 == 822 是第86项
3^0 + 3^1 + 3^2 + 3^4 + 3^6 == 823 是第87项
3^3 + 3^4 + 3^6 == 837 是第88项
3^0 + 3^3 + 3^4 + 3^6 == 838 是第89项
3^1 + 3^3 + 3^4 + 3^6 == 840 是第90项
3^0 + 3^1 + 3^3 + 3^4 + 3^6 == 841 是第91项
3^2 + 3^3 + 3^4 + 3^6 == 846 是第92项
3^0 + 3^2 + 3^3 + 3^4 + 3^6 == 847 是第93项
3^1 + 3^2 + 3^3 + 3^4 + 3^6 == 849 是第94项
3^0 + 3^1 + 3^2 + 3^3 + 3^4 + 3^6 == 850 是第95项
3^5 + 3^6 == 972 是第96项
3^0 + 3^5 + 3^6 == 973 是第97项
3^1 + 3^5 + 3^6 == 975 是第98项
3^0 + 3^1 + 3^5 + 3^6 == 976 是第99项
3^2 + 3^5 + 3^6 == 981 是第100项
*/
1 3 4 9 10 12 13 27 这个数列的算法是正确了吗?
猜你喜欢
转载自blog.csdn.net/weixin_39410618/article/details/101720854
今日推荐
周排行