fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <math.h>
  4. #include <stdlib.h>
  5. #include <stdbool.h>
  6.  
  7. //Bai 1:Hàm kiểm tra số fibonacy
  8. //F(0) = 0, F(1) = 1
  9. //F(n) = F(n-1) + F(n-2)
  10. //0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368
  11. //int fibonacy(int n){
  12. // int a=0,b=1;
  13. // while(b<n){
  14. // int tmp = a+b;
  15. // a = b;
  16. // b = tmp;
  17. // }
  18. // return(b==n);
  19. //}
  20. //main(){
  21. // int n,i;printf("Nhap N:");scanf("%d",&n);
  22. // if(fibonacy(n)){
  23. // printf("YES");
  24. // }
  25. // else{
  26. // printf("NO");
  27. // }
  28. //}
  29. //*********************************************************************************************************************************
  30. //B2:Nếu không phải Fibonacy,in ra các ước của nó
  31. //int fibo(int n){
  32. // int a=0,b=1;
  33. // while(b<n){
  34. // int temp = a+b;
  35. // a = b;
  36. // b = temp;
  37. // }
  38. // return(b==n);
  39. //}
  40. //main(){
  41. // int n,i;printf("Nhap n:");scanf("%d",&n);
  42. // if(fibo(n)){
  43. // printf("N la Fibonacy");
  44. // }else{
  45. // printf("N khong la Fibonacy\n");
  46. // printf("Uoc cua N la:");
  47. // for(i=1;i<=n;i++){
  48. // if(n % i == 0){
  49. // printf("%d ",i);
  50. // }
  51. // }printf("\n");
  52. // }
  53. //}
  54.  
  55. //*********************************************************************************************************************************
  56. //B3:In ra tổng tất cả các ước của N.
  57. //int fibo(int n){
  58. // int a=0,b=1;
  59. // while(b<n){
  60. // int temp=a+b;a=b;b=temp;
  61. // }return(b==n);
  62. //}
  63. //main(){
  64. // int n,i;printf("Nhap n:");scanf("%d",&n);
  65. // int sum=0;
  66. // if(fibo(n)){
  67. // printf("YES");
  68. // }else{
  69. // printf("NO\n");
  70. // printf("Uoc cua N la:");
  71. // for(i=1;i<=n;i++){
  72. // if(n % i == 0){
  73. // printf("%d ",i);
  74. // sum += i;
  75. // }
  76. // }printf("\n");
  77. // printf("Tong cac uoc cua N la:%d ",sum);
  78. // }
  79. //}
  80. //*********************************************************************************************************************************
  81. //B4:In ra số lượng các ước số của n.
  82. //int fibo(int n){
  83. // int a=0,b=1;
  84. // while(b<n){
  85. // int temp=a+b;a=b;b=temp;
  86. // }return(b==n);
  87. //}
  88. //main(){
  89. // int n,i;printf("Nhap n:");scanf("%d",&n);
  90. // int sum=0,count=0;
  91. // if(fibo(n)){
  92. // printf("YES");
  93. // }else{
  94. // printf("NO\n");
  95. // printf("Uoc cua N la:");
  96. // printf("So luong uoc cua N la:");
  97. // for(i=1;i<=n;i++){
  98. // if(n % i == 0){
  99. // printf("%d ",i);
  100. // sum += i;
  101. // count++;
  102. // }
  103. // }printf("\n");
  104. // printf("Tong cac uoc cua N la:%d \n",sum);
  105. // printf("So luong uoc cua N la:%d ",count);
  106. // }
  107. //}
  108. //*********************************************************************************************************************************
  109. //B5:Nhập n,in ra các Fibonacy từ 1 đến n.
  110. //int fibo(int n){
  111. // int a=0,b=1;
  112. // while(b<n){
  113. // int tmp=a+b;a=b;b=tmp;
  114. // }return(b==n);
  115. //}
  116. //main(){
  117. // int n,i;printf("Nhap N:");scanf("%d",&n);
  118. // for(i=2;i<=n;i++){
  119. // if(fibo(i)){
  120. // printf("%d ",i);
  121. // }
  122. // }
  123. //}
  124. //*********************************************************************************************************************************
  125. //B6:In ra n số Fibonacci đầu tiên.
  126. //int f(int n){
  127. // int a=0,b=1;
  128. // while(b<n){
  129. // int tmp = a+b;a=b;b=tmp;
  130. // }return(b==n);
  131. //}
  132. //main(){
  133. // int n,i;scanf("%d",&n);
  134. // int count=0,sohientai=2;
  135. // while(count<=n){
  136. // if(f(sohientai)){
  137. // printf("%d ",sohientai);
  138. // count++;
  139. // }sohientai++;
  140. // }
  141. //}
  142. //*********************************************************************************************************************************
  143. //B7:In ra 3 số Fibonacci lớn hơn n.
  144. //int f(int n){
  145. // int a=0,b=1;
  146. // while(b<n){
  147. // int tmp=a+b;a=b;b=tmp;
  148. // }return(b==n);
  149. //}
  150. //main(){
  151. // int n,i;scanf("%d",&n);
  152. // int count=0;
  153. // for(i=n+1;count<3;i++){
  154. // if(f(i)){
  155. // printf("%d ",i);
  156. // count++;
  157. // }
  158. // }
  159. //}
  160. //*********************************************************************************************************************************
  161. //B8:In ra 2 số Fibonacci, một số lớn hơn và một số nhỏ hơn n (gần n nhất).
  162. //int f(int n){
  163. // int a=0,b=1;
  164. // while(b<n){
  165. // int temp = a+b;a=b;b=temp;
  166. // }return(b==n);
  167. //}
  168. //main(){
  169. // int n;scanf("%d",&n);
  170. // int sohientai,i=-1,j=-1;
  171. // for(sohientai=n-1;sohientai>1;sohientai--){
  172. // if(f(sohientai)){
  173. // i = sohientai;break;
  174. // }
  175. // }
  176. // for(sohientai=n+1;;sohientai++){
  177. // if(f(sohientai)){
  178. // j = sohientai;break;
  179. // }
  180. // }
  181. // if(i != -1) printf("Lon:%d\n",i);
  182. // if(j != -1) printf("Nho:%d\n",j);
  183. //}
  184. //*********************************************************************************************************************************
  185. //B9:In ra 4 số Fibonacci, 2 số lớn hơn và 2 số nhỏ hơn n.
  186. //int f(int n){
  187. // int a=0,b=1;
  188. // while(b<n){
  189. // int tmp = a+b;a=b;b=tmp;
  190. // }return(b==n);
  191. //}
  192. //main(){
  193. // int i,n;scanf("%d",&n);
  194. // int sohientai,dem_i=0,dem_j=0;
  195. // printf("Fibonacy nho hon N:\n");
  196. // for(sohientai=n-1;sohientai>1 && dem_i < 2;sohientai--){
  197. // if(f(sohientai)){
  198. // printf("%d ",sohientai);
  199. // dem_i++;
  200. // }
  201. // }printf("\n");
  202. // printf("Fibonacy lon hon N:\n");
  203. // for(sohientai=n+1;dem_j < 2;sohientai++){
  204. // if(f(sohientai)){
  205. // printf("%d ",sohientai);
  206. // dem_j++;
  207. // }
  208. // }printf("\n");
  209. //}
  210.  
  211. //*********************************************************************************************************************************
  212. //B10:Nhập n, p, q, in ra p số Fibonacci nhỏ hơn n và q số Fibonacci lớn hơn n.
  213. //int f(int n){
  214. // int a=0,b=1;
  215. // while(b<n){
  216. // int temp = a+b;a=b;b=temp;
  217. // }return(b==n);
  218. //}
  219. //main(){
  220. // int n, p, q, sohientai, dem_k = 0, dem_j = 0;
  221. // scanf("%d%d%d", &n, &p, &q);
  222. // printf("Fibonacy nho hon N:\n");
  223. // for (sohientai = n - 1; sohientai > 1 && dem_k < p; sohientai--) {
  224. // if (f(sohientai)) {
  225. // printf("%d ", sohientai);
  226. // dem_k++;
  227. // }
  228. // }printf("\n");
  229. // printf("Fibonacy lon hon N:\n");
  230. // for (sohientai = n + 1; dem_j < q; sohientai++) {
  231. // if (f(sohientai)) {
  232. // printf("%d ", sohientai);
  233. // dem_j++;
  234. // }
  235. // }printf("\n");
  236. //}
  237.  
  238. //*********************************************************************************************************************************
  239. //B11:In ra các số Fibonacci (có 3 hoặc có 4 chữ số) mà có
  240. //tổng các chữ số chia hết cho 5.
  241. //int f(int n){
  242. // int a=0,b=1;
  243. // while(b<n){
  244. // int temp=a+b;a=b;b=temp;
  245. // }return(b==n);
  246. //}
  247. //int tong(int chuso){
  248. // int sum = 0;
  249. // while(chuso > 0){
  250. // sum += chuso % 10;
  251. // chuso /= 10;
  252. // }return sum;
  253. //}
  254. //main(){
  255. // int n,i;printf("Nhap N: ");scanf("%d",&n);
  256. // printf("Cac so Fibonacy co tong cac chu so chia het cho 5:\n");
  257. // for(i=100;i<=n;i++){
  258. // if(f(i)){
  259. // int sum = tong(i);
  260. // if(sum % 5 == 0){
  261. // printf("%d ",i);
  262. // }
  263. // }
  264. // }printf("\n");
  265. //}
  266.  
  267.  
  268. //B12:nhập n, tìm các số vừa là Palindrome vừa là Fibonacy nhỏ hơn n
  269. int fibonacy(int n){
  270. int a=0,b=1,temp;
  271. while(b<n){
  272. temp = a+b;a=b;b=temp;
  273. }return(b==n);
  274. }
  275.  
  276. int palindrome(int n){//palindrome:so doi xung VD:121,44,12321
  277. int reversed=0,remainder,original=n;//reversed:so dao nguoc
  278. while (n != 0) {//remainder:so con lai // original:Giu gia tri goc cua n
  279. remainder = n % 10;
  280. reversed = reversed * 10 + remainder;
  281. n /= 10;
  282. }return (reversed == original);
  283. }
  284. //original lưu giá trị 121 để so sánh.
  285. //reversed ban đầu là 0, sau đó sẽ dần được xây dựng thành 121 (số đảo ngược).
  286. //remainder dùng để tách từng chữ số từ n.
  287. main(){
  288. int n,i;scanf("%d",&n);
  289. printf("Cac so Palindrome va Fibonacci nho hon %d:\n", n);
  290. for(i=1;i<=n;i++){
  291. if (fibonacy(i) && palindrome(i)){
  292. printf("%d ",i);
  293. }
  294. }
  295. }
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
Success #stdin #stdout 0s 5292KB
stdin
Standard input is empty
stdout
Cac so Palindrome va Fibonacci nho hon 22023:
1 2 3 5 8 55