#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; //一、斐波那契数列
for (int i=; i<; i++) {
NSLog(@"称斐波那契数列:%d",[self gold:i]);
} NSLog(@"\n---------我是分割线------------\n"); //二、求和
NSLog(@"求和:%d",[self sum:]);
NSLog(@"\n---------我是分割线------------\n");
NSMutableArray * arr = @[@,@,@,@,@].mutableCopy; //三、冒泡排序
NSLog(@"冒泡排序:");
for (id s in [self sortArrBig:arr]) {
NSLog(@"%@ ",s);
}
NSLog(@"\n---------我是分割线------------\n"); //四、水仙花
[self Narcissus]; NSLog(@"\n---------我是分割线------------\n"); //五、将一个正整数分解质因数
NSLog(@"正整数分解质因数");
[self PositiveInt:];
NSLog(@"\n---------我是分割线------------\n");
/*
六、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
*/
NSLog(@"猴子吃桃问题:%d",[self peach:]);
NSLog(@"\n---------我是分割线------------\n"); //七、数列求和
/*有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。*/
NSLog(@"数列的前20项之和:%f",[self molecule:]);
NSLog(@"\n---------我是分割线------------\n");
/*八、打印菱形 *
***
*****
***
* */
[self diamond:];
NSLog(@"\n---------我是分割线------------\n"); //九、无重复三位数
/*
有1、2、3、4,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
*/
[self threeInt];
} //水仙花 数字
-(void)Narcissus{ int i,j,k,n;
for (n=; n<; n++) {
//分解出百位
i = n/;
//分解出十位
j = n/%;
//分解出个位
k = n%;
if (i*+j*+k == i*i*i+j*j*j+k*k*k) {
NSLog(@"%d",n);
}
}
} -(void)PositiveInt:(int)n{ int i;
for (i=; i<n; i++) {
while (n!=i) {
if (n%i == ) {
NSLog(@"%d",i);
n = n/i;
}else{
break;
}
}
}
NSLog(@"%d",n);
} -(int)peach:(int)n{ int day = n-,x1 = ,x2 = ;
while (day>) { //第一天的桃子数是第2天桃子数加1后的2倍
x1 = (x2 + )*;
x2 = x1;
day--;
}
return x1;
} -(float)molecule:(int)n{ int i,j,number = n;
float a = ,b = ,s = ;
for (i=; i<=number; i++) { s = s+a/b;
j = a;
a = a+b;
b = j;
}
return s;
}
/*
*
***
*****
*******
*****
***
*
*/
//打印菱形
-(void)diamond:(int)n{ for (int i = ; i<=n; i++) {
for (int j = ; j<=n-i; j++) {
printf(" ");
}
for (int k = ; k<=*i-; k++) {
printf("*");
}
printf("\n");
}
for (int i= ; i<=; i++) { for (int j = ; j<=i; j++) {
printf(" ");
}
for (int k = ; k<=*n--*i; k++) {
printf("*");
}
printf("\n");
}
} -(void)threeInt{ NSMutableArray * arr = [[NSMutableArray alloc]init];
for (int i = ; i<; i++) {
for (int j = ; j<; j++) {
for (int k = ; k<; k++) {
if (i!=k && i!=j && j!=k) {
//确保i、j、k三位互不相同
// NSLog(@"%d,%d,%d",i,j,k);
[arr addObject:[NSString stringWithFormat:@"%d%d%d",i,j,k]];
}
} }
}
NSLog(@"四个数组合三位数:%@",arr);
} -(NSMutableArray*)sortArrBig:(NSMutableArray*)arr{ //个数-1 次循环
for (int j = ; j<arr.count - ; j++) {
//比较前后两个值大小
for (int i = ; i<arr.count-; i++) {
//前后值互换
if (arr[i] > arr[i+]) {
id small = arr[i];
arr[i] = arr[i+];
[arr replaceObjectAtIndex:i+ withObject:small];
}
}
}
return arr;
} //函数就是用来求和的 1+++到某个数的和
-(int)sum:(int)n{ if (n<=){return-;}
else if (n==){return ;}
else {return [self sum:n-] +n;}
} //黄金分割数列,又称斐波那契数列
//1,1,2,3,5,8,13,21,34 -(int)gold:(int)n{ if (n<=) return -;
if (n==||n==) return ;
else return [self gold:n-]+ [self gold:n-];
} @end

最新文章

  1. 《精通MVC5.0》笔记Razor
  2. 这是经典的&quot;百马百担&quot;问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
  3. Nginx安装与配置文件解析
  4. DP VK Cup 2012 Qualification Round D. Palindrome pairs
  5. Asp.net MVC4 Knockoutjs BootStrap Ace NinJect Jqgrid sqlserver2008
  6. AES加密和解密
  7. Codevs No.1052 地鼠游戏
  8. Swif基本语法以及与OC比较三
  9. HTML 内嵌JS脚本、相关参考手册
  10. js题
  11. Windows 配置JAVA的环境变量
  12. Sql缓存依赖--数据库缓存
  13. leetcode题解 6.ZigZag Conversion
  14. C语言代码
  15. oracle12 group by 拼接字符串
  16. MySQL设置global变量和session变量
  17. nginx中间件
  18. js的urlencode
  19. (转)EntityFramework.Extensions
  20. 20155203 2016-2017-2 《Java程序设计》第7周学习总结

热门文章

  1. 数字证书文件cer和pfx的区别
  2. hdoj 1251 字典树
  3. hdu 4502吉哥系列故事——临时工计划 (简单DP)
  4. ubuntu 升级命令
  5. hdu 3308
  6. 浅谈Chrome V8引擎中的垃圾回收机制
  7. 用urlencode(String str)对URL传递参数进行编码,提高安全
  8. Python自动化运维之25、Ajax
  9. K - 计算球体积
  10. Linux服务器集群技术的概述