黑洞数算法
2013-09-14 22:05
28 查看
呵呵,想了有四十多分钟吧,要是我头脑能更快点就好了,程序的时间复杂度很小,而且思绪也有点乱。
#include "iostream" #include "stdlib.h" using namespace std; int cave(int *p) { int mov; for (int i=0;i<5;i++) for (int j=0;j<i;j++) { if (*(p+i)>*(p+j)) { mov=*(p+i); *(p+i)=*(p+j); *(p+j)=mov; } } return 0; } int main() { int Starts=0; int n=4; int num[5]; int sub[30]; int *p=num; int num_start; cin>>num_start; mm: int sum=100000; for (int i=0;i<5;i++) { sum=sum/10; num[4-i]=num_start/sum; num_start=num_start%sum; } cave(p); int sum_one,sum_two,sum_sub; sum_one=*p * 10000+*(p+1) * 1000 + *(p+2) * 100+ *(p+3) * 10+ *(p+4) *1; sum_two=*p * 1+*(p+1) * 10 + *(p+2) * 100+ *(p+3) * 1000+ *(p+4) *10000; sum_sub=sum_one-sum_two; sub[Starts]=sum_sub; for (int l=0;l<Starts;l++) { if (sum_sub==sub[l]) { cout<<endl; cout<<"从"<<sum_sub<<"开始循环"<<endl; getchar(); getchar(); exit(-1); } } Starts++; cout<<sum_sub<<" "; num_start=sum_sub; goto mm; cout<<sum_one<<endl<<sum_two<<endl; return 0; }
相关文章推荐
- 蓝桥杯 算法提高VIP 数字黑洞(Java解题)
- 蓝桥杯 ADV-170算法提高 数字黑洞
- 算法提高 数字黑洞
- 算法提高 数字黑洞
- 算法提高 ADV-170 数字黑洞
- 蓝桥杯 算法提高 数字黑洞
- 算法提高 数字黑洞
- 算法笔记_217:黑洞数(Java)
- 算法提高 数字黑洞
- 算法提高 数字黑洞
- 算法题-数字黑洞
- Java数据结构和算法-作业1-问题部分
- 一些算法拾贝
- 每天学习一算法系列(21)(输入两个整数n 和m,从数列1,..n 中随意取几个数使和等于m)
- STL经典算法集锦<八>之IntroSort
- java经典算法_034打乱数据顺序
- 多路归并算法
- hash 算法总结
- 常见排序算法的C语言实现以及算法复杂度分析(持续更新)
- 10大基础实用算法