两种蛋糕

超市里出售一种品牌的两种蛋糕,同样的价格,相似的外观,一个的包装比另一个大一点。

前几天买了小一点的,里面有红豆馅,非常好吃。

今天又去超市,本来想再次买这个红豆馅的,可是看到了另一个包装比较大一点,感觉用同样的价格买比较大的或许会很划算,于是就买了大一点的。

回到寝室以后就吃了一个,可是吃了一大半也没有吃到馅,一开始我认为我吃的方式不正确,可是吃完了也没有吃到馅,遂翻出包装,发现这个蛋糕本来就是没有馅的。

虽然这个蛋糕不难吃,但是我还是觉得没有有馅的好吃,那么厂商为什么要用两种相同的价格、相似的包装外观,出售两种完全不相同的面包呢?

我是这样想的,第一次我买东西时,并没有要买特定品牌的蛋糕的想法,甚至并没有买蛋糕的想法,
这个时候,我大概会买那种有馅而且外观很诱人的蛋糕,由于他的包装很小,正好符合“想试一下”的心理。
然后,我吃了蛋糕,并且觉得很好吃,于是自然想再买一次。
这次我就有了想买某个品牌的蛋糕的想法,自然就会把这个品牌的其它类型的蛋糕看一遍,这样之前不会考虑的同品牌比较大的蛋糕,就会纳入考虑范围之中了,
因为价格一样而且比较大,而且也没有明显的警告说这里面没有馅,所以我自然就会买这个,然后:

  • 如果我觉得好吃,我会买更多的这样的蛋糕
  • 如果我觉得不好吃,我会记住下次一定要买那种看上去比较小的,会买更多的这种蛋糕

如果它只有一种或者这两种不做出这样的区分或者区分两种的价格,似乎就不容易达到这样让人印象深刻的效果。


但是还有一个问题,如果我(第一次)买的是比较大的蛋糕而且恰好我不喜欢它呢?这样是不是会产生适得其反的效果呢?

所以我还是认为这种做法不大靠谱,或许这是超市经营者玩的把戏。

隔壁班的问题

今天隔壁班的同学问了我一个问题,是他们的老师出给他们的:

给定一个整数n,求出不超过sqrt(n)的最大整数。只可以使用加减运算,并且只能使用一层循环。


只要仔细想一想就能明白了,可是我的解决方法不是很漂亮。

#include <stdio.h>
int main()
{
	int s=0,n,t,i,result = 0;
	scanf("%d",&n);
	for (i=1;i<n;i++)
	{
		s += i;
		t = s + s - i;
		if (t > n) { result = i-1;break;}
	}
	printf("%d\n",result);
}