20160930_コードネット階段を上る&ヨーデルテスト


階段はm級で、最初は1級で、毎回1級か2級しか越えられない場合は、m級に上がるには、どれだけの歩き方がありますか?
注:1級から1級まで0種類の歩き方が規定されています.
入力
入力データは、まず整数n(1<=n<=100)を含み、試験例の個数を表し、次いでn行データであり、各行に整数m、(1<=m<=40)を含み、階段の段数を表す.
サンプル入力
2
2
3
しゅつりょく
各テストインスタンスについて、異なるパスの数を出力します.
サンプル出力
1
2
#define _CRT_SECURE_NO_WARNINGS
#include
#include

int main()
{
	int n; int m[41]; int *k;

	for (int j = 0; j < 41; j++)
	{
		if (j == 0) m[j] = 0;
		if (j < 4) m[j] = j - 1;
		else m[j] = m[j - 1] + m[j - 2];
		//printf("%d
", m[j]); } scanf("%d", &n); k= (int*)malloc(sizeof(int)*n); for (int i = 0; i < n; i++) { scanf("%d", &k[i]); } for (int i = 0; i < n; i++) printf("%d
", m[k[i]]); system("pause"); return(0); }

タイトルの説明
ランボとティモは雑談した後、彼らの本題、ヨーデル人の未来に戻った.
ヨーデル人の未来といえば、ヘマーティンガーはヨーデル人の歴史の各段階を1文字で表現するヨーデルテストを提案したことがある.(書き込み可能な文字が含まれ、スペースは含まれません).その後、この文字列を01列に変換します.変換ルールは、この文字がアルファベットまたは数字の場合、この文字が1になり、その他が0になることです.そしてこの01列とブラックメルティンガーが星空を観測して得た01列を比較し,類似率を得た.類似率が高いほど、ヨーデルの未来は明るくなる.
類似率はいくらですか.
入力
各入力データは2行で、第1の動作はヨーデル人の歴史に関する文字列であり、第2の行は黒マーティンガーが星空を観測した文字列である.
(2つの文字列の長さは等しく、文字列の長さは1以上1000以下である.)
サンプル入力
@!%12dgsa
010111100
しゅつりょく
類似率を出力する行を出力します.パーセンテージで表す.(類似率は同じ文字の個数/総個数で、パーセンテージ小数点以下の2桁まで正確です.printf("%");%を出力します.)
サンプル出力
66.67% #define _CRT_SECURE_NO_WARNINGS #include #include #include int main() { char m[1000]; char *n; gets(m); int str = strlen(m); int p = str; int q = str; while (str--) { int test1, test2,test3; test1 = (int)(m[str] - 'A'); test2 = (int)(m[str] - 'a'); test3 = (int)(m[str] - '0'); if (test1 < 26 && test1 >= 0 || test2 < 26 && test2 >= 0 || test3 < 10 && test3 >= 0) m[str] = '1'; else m[str] = '0'; } n = (char *)malloc(sizeof(int)*p); for (int i = 0; i 今日のプログラミング速度の進歩は明らかです.
学んだこと:
1判断アルファベットと数字、a,A,0と比較
2除算小数点以下の3桁の数を保留し、1.000を乗せればよい
3できるだけアルゴリズムを簡単にし、アルゴリズムが面倒であれば、ある程度方向が間違っていることを説明します.
例えば階段を上るアルゴリズムは,現在の階段の前に一度踏み込む可能性の和を考えることができる.