【C语言】算法练习

【C语言】算法练习,第1张

【C语言】算法练习 A - A+B Descripon

给出整数A和整数B,输出的结果A+B.

Input

第一行包含整数T,表示输入的组数。

接下来的T行每行包含两个正整数a,b。

Output

共T行,每行包含一个整数,表示结果A+B。

Sample Input

2

1 2

1000000000 1000000000

Sample Output

3

2000000000

Hint

int范围:-2147483648〜2147483647

longlongint范围:-9223372036854775808〜922337203685477580721 

思路

由第二组数据可知int型无法满足该数据计算,所以应定义为long long int 型。

由自己输入数据组数即应用while循环控制循环次数。

代码
#include
int main()
{
	int t;
	scanf("%d",&t);
	while(t--) //控制循环次数 
	{
	long long int a,b; //数据较大int型无法满足需要定义为 long long int型 
	scanf("%lld %lld",&a,&b);
	printf("%lldn",a+b);  //输出为 %lld . 
	}
}
B - 糖果  Description

最近队员训练⾟苦,杨队为犒劳我们⼩菜⻦,决定给我们分发糖果,但是⼜不能我们那 么轻易拿到,规则为他说出⼀个数字 (代表天数),第⼀天⼀个糖果,之后两天(第 2  天和第  3 天)每天收到两个糖果,再之后三天(第 4 5 6 天)每天收到三个糖果,以此类 推。。。 问,前 天⾥我们⼀共收到多少糖果?

Input

输⼊只有 1 行,包含⼀个正整数 ,表示发放糖果的天数。

Output

输出只有 1 行,包含⼀个正整数,即我们菜鸟收到的糖果总数。

数据范围

1<=k<=10000

Sample Input

6

Sample Output
14 
思路

 主要的问题是循环发相同数量的糖果的问题。

代码

 

#include
int main()
{
 int k;
 int b = 1;
 int num=0;
 scanf("%d",&k);
 while(k-b > 0) //控制循环即第1天1个糖果,之后两天(第 2 天和第 3 天)每天收到两个糖果 
 {
  num = num + b*b; //b*b即为重复得到的糖果 
  k = k-b;
  b++;
   
 }
 num = num + k*b;
 printf("%d",num);
 
 return 0; 
} 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存