HJ53. 杨辉三角的变形
描述
以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。
求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。
数据范围:
输入描述
输入一个int整数
输出描述
输出返回的int值
示例1
输入:
4
输出:
3
C 解法, 执行用时: 1ms, 内存消耗: 416KB, 提交时间: 2022-01-24
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(){ int n; while(scanf("%d",&n)!=EOF){ int pos; if(n==1||n==2){ pos =-1; }else if(n%2==1){ pos=2; }else if(n%4==0){ pos=3; }else if(n%4==2){ pos = 4; } printf("%d\n",pos); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2021-12-05
#include <stdio.h> #include <stdlib.h> #include <string.h> /* 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 1 4 10 16 19 16 10 4 1 1 5 15 30 45 51 45 30 15 5 1 1 6 21 50 90 126 141 126 */ /* 1 -1 2 -1 3 2 4 3 5 2 6 4 7 2 8 3 9 2 10 4 */ int main() { int num = 0; int pos = 0; while (scanf("%d", &num) != EOF) { if (num <= 2) { pos = -1; } else if (num % 2 == 1) { pos = 2; } else if (num % 4 ==0) { pos = 3; } else if (num % 4 == 2) { pos = 4; } printf("%d\n", pos); } return 0; }