我希望用C语言打印一个模式:
$(function () {
$('.input').append("<input class='chat_input'>")
$(document).find('.chat_input').on('keypress', function (ev) {
console.log(ev)
});
});
目前我有这个:
1
2 6
3 7 10
4 8 11 13
5 9 12 14 15
我没有得到理想的结果。请任何人帮忙
答案 0 :(得分:4)
基本上,如果你分析每一行数字之间的差异:
if (ctx._source.tags.indexOf(newTag) < 0) {
ctx._source.tags[ctx._source.tags.length] = newTag;
ctx._source.tag_suggest.input[ctx._source.tag_suggest.length] = newTag;
}
然后对于每一列(除了第一行等于该行),公式为:
1
2 6
3 7 10
4 8 11 13
5 9 12 14 15
^ ^ ^ ^
diff 4 3 2 1
例如,最后一行:
col_value = val(row, col-1) + (5-col))
代码:
5 9 12 14 15
9 = 5 + (5-1)
12 = 9 + (5-2)
14 = 12 + (5-3)
15 = 14 + (5-4)
答案 1 :(得分:1)
检查一下:
int main()
{
int i,j;
for(i=1;i<=5;i++)
{
int temp = 4;
int sum = 0;
for(j=1;j<=i;j++)
{
if (j == 1)
sum = i;
else{
sum = sum + temp --;
}
printf("%d ",sum);
}
printf("\n");
}
}
答案 2 :(得分:1)
int main () {
int k,i, j;
for (i = 1; i <=5; i++) {
k = i;
for (j = 1; j <= i; j++) {
printf ("%d ", k);
k = k + (5-j);
}
printf ("\n");
}
}
逻辑很直接。
1)一行中的元素数等于行号。因此,使用j = 1到j <= i
的内循环2)如果您看到模式,您观察到每一行都以数字等于行索引开头,则下一个数字为+4,然后是+3,依此类推。
3)因此使用k = k +(5-j)
答案 3 :(得分:0)
int main()
{
int i,j,temp=0,l;
for(i=1;i<=5;i++)
{
l=4;
temp = i;
for(j=1;j<=i;j++)
{
if(j>1)
{
printf("%d\t",temp+l);
temp = temp+l;
l=l-1;
}
else
printf("%d\t",i);
}
printf("\n");
}
getch();
return 0;
}