1005. 继续(3n+1)猜想 (25)
来源:互联网 发布:视频噪音消除软件 编辑:程序博客网 时间:2024/05/01 06:36
分析:这个题目的思路是把每个数字计算过程中的数字记录下来,再次遍历的时候把没有标记的数据保存下来并排序输出
注意:由于计算过程中的数字可能会超过100,所以只保存100以内的数据。
#include<stdio.h> #include <algorithm> using namespace std; bool cmp(int a, int b) { return a > b; } int main(){ int n; int num[100]; int result [101]={0}; int sortarray [100]; scanf("%d",&n); int i; for( i =0;i<n ;i++) { scanf("%d",&num[i]); } for(i=0;i<n;i++) { int tmp = num[i]; while(tmp!=1){ if(tmp%2==0){ tmp = tmp/2; if(tmp<=100) result[tmp]=1; } else{ tmp = (tmp*3+1)/2; if(tmp<=100) result[tmp]=1; } } } int counter = 0; for( i =0;i<n;i++){ if(result[num[i]]!=1){ sortarray[counter] = num[i]; counter++; } } sort(sortarray,sortarray+counter,cmp); printf("%d",sortarray[0]); for(i =1;i<counter;i++) printf(" %d",sortarray[i]); }
0 0
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 1005. 继续(3n+1)猜想 (25)
- 解决maven中java版本问题和编码问题
- 消息队列的考虑
- 英尺转换
- shell排序
- 软考-数据库与标准化和知识产权
- 1005. 继续(3n+1)猜想 (25)
- Launcher知识的demo,手机管家小伙家与悬浮窗
- 【OC加强】单例模式与[NSFileManager defaultMagager]以及其他设计模式
- BOX2D 第五章 动力学模块
- 万能数据库查询分析器使用技巧之(十五)
- iOS webView
- Spring @Transactional 声明式事务管理 getCurrentSession
- 连网和异步 I/O
- 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file