//
// main.m
// homework3
//
// Created by dllo on 15/7/2.
// Copyright (c) 2015年 Clare. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
// /****************************************************************/
// // 1. 随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
//
//
// int max = 0;
// for (int i = 0;i < 20 ; i++) {
// int a = arc4random() % (100 - 10 + 1) + 10;
//
// if ( max < a ){
// max = a;
// }
// printf(" %d",a);
// }
// printf("\n");
// printf(" max = %d\n", max);
// /*************************************************************/
// //2. 编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。
//
// int num = 0, a = 0 , b = 0 , c = 0 ;
// for (int i = 100 ; i < 1000 ; i++) {
// a = i / 100;
// b = i / 10 % 10;
// c = i % 10;
// if (a * a * a + b * b * b + c * c * c == i) {
// printf("%d\n", i);
// num++;
//
// }
// }
// printf("水仙花数共有:%d个\n", num);
// /**********************************************************/
// // 3.已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合
//
// for (int a = 0; a < 10 ; a++) {
// for ( int b = 0 ; b < 10 ; b++){
// for (int c = 0; c < 10 ; c++) {
// if (100 * a + 10 * b + c + a + 10 * b + 100 * c == 1333) {
// printf("%d %d %d\n", a , b, c);
// }
// }
// }
// }
//
/**************************************************************/
// // 4.输入两个数,求最大公约数和最小公倍数。(用两种方法:辗转相除法和普通方法)
// // 普通方法1
// int num1 = 0, num2 = 0;
// int max = 0;
// int min = 0;
// int s = 0;
// scanf("%d %d", &num1 ,&num2);
// min = num1 < num2 ? num1 : num2;
// for ( int i = 1; i <= min; i++) { // i不能从0取值因为被除数不能等于0
// if ((num1 % i ==0) && (num2 % i ==0)) {
// if (max < i) {
// max = i;
// }
//
// }
//
// }
// s = num1 * num2 / max;
// printf("最大公约数是:%d\n",max);
// printf("最小公倍数是:%d\n",s);
// 普通方法2
// int num1 = 0, num2 = 0;
// int max = 0;
// int min = 0;
// int s = 0;
// scanf("%d %d", &num1 ,&num2);
// min = num1 < num2 ? num1 : num2;
// for ( int i = 1; i <= min; i++) { // i不能从0取值因为被除数不能等于0
// if ((num1 % i ==0) && (num2 % i ==0)) {
// max = max > i ? max : i;
// }
// }
// s = num1 * num2 / max;
// printf("最大公约数是:%d\n",max);
// printf("最小公倍数是:%d\n",s);
// // 辗转法
// int num1 = 0, num2 = 0;
// int mid = 0; // mid 相当于中间存储器
// printf("请输入两个数:");
// scanf("%d %d", &num1 ,&num2);
// int a = num1;
// int b = num2;
// while (num1 % num2 != 0) {
// mid = num1 % num2;
// num1 = num2;
// num2 = mid ;
// }
// if ( num1 == num2){
// printf("两个数相同\n");
// }else if ( num2 == 1){
// printf("两个数互为质数");
// }else{
// printf("最大公约数是:%d\n",num2);
// printf("最小公倍数是:%d\n", a * b / num2);
// }
//
//
//
// //方法4
// int num1 = 0, num2 = 0;
// int min = 0;
// int s = 0;
// scanf("%d %d", &num1 ,&num2);
// min = num1 < num2 ? num1 : num2;
// for ( int i = min; i > 0; i--) { // i不能从0取值因为被除数不能等于0
// if ((num1 % i ==0) && (num2 % i ==0)) {
// printf("最大公约数是:%d\n",i);
// s = num1 * num2 / i;
// printf("最小公倍数是:%d\n",s);
// break;
// }
//
// }
return 0;
}