たまたんのぶろぐ

たまたんが時たま言いたいことを書いてます。ジャンルはめっちゃええ加減ですwソフトやプログラムのことが多いかもしれませんが。。。。。

Siriに「ギャグ言って」って聞いてみた

ちょいとネタがないのでSiriと遊んでみました。

 

f:id:tama-jp:20130102111004p:plain

お!!考えてくれてた?

 

f:id:tama-jp:20130102111000p:plain

やっぱだめか。。。言ってくれんか。。。

 

f:id:tama-jp:20130102110927p:plain

意味わからんが結局言ってくれないんだな。。。。

 

f:id:tama-jp:20130102110943p:plain

いや、アンタ ( ̄。 ̄)σ忘れるって、

コンピュータでしょうが。。。。。

 

f:id:tama-jp:20130102110933p:plain

しるかよ。。。。

 

f:id:tama-jp:20130102110939p:plain

えと、忘れてあげましょう。。。。(;^ω^)

 

f:id:tama-jp:20130102110952p:plain

えっ?すごく気になる。。。。

 

10分ぐらい頑張ってみましたが

上記パターンの繰り返しでしたね。

 

でも、意外と答えてくれたんがちょっとおもしろかったです

皆さんもやってみては?w

 

お後がよろしいようで。。。。ちゃんちゃん♪

開けましておめでとうございます!!

2013年開けましておめでとうございます!!

昨年は途中から全然書かなくなってしまっちゃって( ̄□ ̄;)!!

今年は、ビッグになるような歳でありますように!!

 

歳はビッグになりました。。。。(ノ_・。)

 

っと言うことで、何もネタがなくて焦ってる私です。。。。w

最近忙しくて全然書けてないなぁ。。。。

しばらく忙しくて全くブログに手を出せていないですなぁ。

 

iOSの方で何か新しいことを書ければいいのですが、

これといって、書けるようなものがなくてこまってます >_<

 

んで、最近、VPSを借りたんで構築の話でもまた書こうかな。。。。

 

今日はここまで。。。。

数学(プログラム)の時間?

久々にブログ書いちゃいます。いつも通り内容が薄いですが。。。。

 

FB上で出てたロジックの問題です。

なんか気になったんで解いてみました。(・ω・)ノ

 

[問題]

三種の品物a.b.cがあり順に20.15.12円である。

a.b.cを合わせ60個買ったらちょうど1000円になった。

この時a.b.cを買った組み合わせは何通り考えられるか。

なお、a.b.cのうち買わないものがあってもよいとする。

 
まぁ、ループしたら簡単に答えは出るんですけど、
出来るだけ処理を減らす工夫をしなきゃね。
 
連立方程式としては、
a × 20 + b × 15 + c × 12 = 1000
a + b + c = 60
となります。
 
これを解けば良いんですが、
私には紙面上では解けませんエッ( ̄ ̄ ̄ ̄^ ̄ ̄ ̄ ̄)ヘン
つうことでプログラムロジックを作ってみました。
 
単純にa、b、cをそれぞれ0から60まで数を当てはめていきトータルが60以上になったものを計算していくという感じですね。
 
っで、簡単に条件を書くと
1. a+bが60以上になったら計算しない
2. a+b+cが60以上になったら計算しない
3. a+b+cが60の場合計算する。
4. 1.〜3.の条件を満たしたものだけ1000円以上になっているかみる。
 
てな感じですかね。
Cソースを書くと(Cのお手本通りは書いてません)以下の通りです。

#include <stdio.h>

 

#define A_PRICE 20

#define B_PRICE 15

#define C_PRICE 12

 

#define TOTAL(A,B,C) ( (A * A_PRICE) + (B * B_PRICE) + (C * C_PRICE) )

 

int main(int argc, char *argv[]) {

    int count = 0;

    int AllCount = 0;

 

    for(int a = 0 ; a <= 60 ; a++)

    {

        for(int b = 0 ; b <= 60 ; b++)

        {

            // トータル数が60より上の場合は、jのループを中断

            if( ( a + b ) >60 ) break;

            for(int c = 0 ; c <= 60 ; c++)

            {

                // トータル60でなければ次の処理へ

                if( (a + b + c) != 60 ) continue;

                // トータル数が60より上の場合は、kのループを中断

                if( (a + b + c) > 60 ) break;

 

                // ループそうカウント数

                AllCount++;

     

                if( TOTAL (a,b,c) == 1000)

                {

                    // マッチした個数

                    printf("(a,b,c) = (%d,%d,%d)\n",a,b,c);

                    // カウントする

                    count++;

                }

            }

         }

    }

    printf("AllCount=%d\n",AllCount);

    printf("count=%d\n",count);

 

    return0;

}

 
結果は、
(a,b,c) = (20,40,0)
(a,b,c) = (23,32,5)
(a,b,c) = (26,24,10)
(a,b,c) = (29,16,15)
(a,b,c) = (32,8,20)
(a,b,c) = (35,0,25)
AllCount=1891
count=6
 
となり、処理計算は、1891通り調べればよくて答えは、6通りとなりました。
こんなんでいいかな?

 こういうことも当たり前でも復習しておくべきですよね。♪ d(⌒o⌒)b♪

GPS使用時の初期化判断の方法

 

メモ代わりに書いておきます。

 

GPSを使用するときに大半のサイトでは、

 

    locationServicesEnabled = [CLLocationManager locationServicesEnabled];

    

    if (locationServicesEnabled == nil){

     <初期化>

    ・

    ・

    ・

        

    }

と書かれてます。

しかし、iOS4から非推奨にされているlocationServicesEnabledを使用されています。

なので、これを使用するとXcodeでは、ワーニングがでます。

 

ですので、以下の方法に変更します。

    CLLocation *loc = mapView.userLocation.location;

    

    if (loc == nil){

     <初期化>

    ・

    ・

    ・

        

    }

 
これで出来ると思います。

 

以上。間違ってたらごめんなさい。

 

初心者向けのStoryBoardの画面遷移の説明についてちょっと疑問。

ドットインストールさんの#10 セグエで画面を接続するを見てみました。

 

これはあかんやろぉ〜・・・・

 

確かに画面遷移でトグルができる様にみえるんですが、

初心者にこれは簡単だからといって注意事項を書かなくて

話すのはかなり問題はありますね。

 

これって、画面遷移をしているように思うのですが、

モーダルで画面遷移と言うことは、

画面の切り替えが行われているのではなくて、

最前面に新しい画面が作成されていきます。

 

っと言うことは、ボタンを押すたびに新しい画面が

作成されていくのですからメモリがどんどん消費されていきますよね。

理論をちゃんと説明しておかないと勘違いされますよね。

 

 

指摘しようと思ったんですが、このサイトのどこに言えばいいのかな?>_<

 

 

あっ、勘違いしないでくださいね。

 

 

 

 

プログラムの方法が間違っているわけではないのですよ。

ただ、制限をなしで使用したりするのはまずいです。

要するに、勉強するサイトなのですから注釈が必要だと言っております。

 

 

 

 

 

動作するからいいじゃん!!って言う人もいるかもしれないですが、

理論がわかっていないとあとからどえらい致命的なバグにぶつかるときがあります。

趣味で作って分でしたらいいんですが、BtoCやBtoBで作り出したら責任問題に発展しますよ。

 

最近、ネットで日本語で紹介しているサイトの大半は、理論ではなくて試行錯誤でこうなったとしか書いていないのが多いと思います。

これはこれでいいのですが、使うときには、本当にこれを使用しても問題ないかを

考えた上で使ってくださいね。

 

っと、書いておきましたが、当サイトの技術もよく考えてからご使用くださいw( ̄∇ ̄)

もし間違いがあればどんどん指摘してくださいねぇm(__)m

 

ではでは。