1.【例4.1】for循环求和

【题目描述】
利用for循环。计算输出1+2+3+...+n
的和。

【输入】
输入n
。

【输出】
如题述,之和。

【输入样例】
10
【输出样例】
55
【提示】
【数据规模及约定】

对于100%的数据,1≤n≤100。
i=1
n=int(input())
sun=0
for i in range(n+1):
  sun=sun+i
  i+=1
print(sun)

2.2017:【例4.2】输出偶数

2017:【例4.2】输出偶数
【题目描述】
按照由小到大的顺序,输出1∼n
之间的所有偶数。

【输入】
输入n
。

【输出】
输出为一行,各个偶数之间用一个空格隔开。

【输入样例】
10
【输出样例】
2 4 6 8 10
【提示】
【数据规模及约定】

对于所有数据,1≤n≤100
。
n=int(input())
sun,sui=0,0
for i in range (1,n+1):
    if i%2==0:
         print(i,end=' ')



3.2018:【例4.3】输出奇偶数之和

【题目描述】
利用for循环,分别输出1∼n
之间的所有奇数的和、偶数的和。

【输入】
输入n
。

【输出】
输出为一行,两个数(用一个空格隔开),偶数之和与奇数之和。

【输入样例】
10
【输出样例】
30 25
【提示】
【数据规模及约定】

对于所有数据,1≤n≤100
。
n=int(input())
sun,sui=0,0
for i in range (n+1):
    if i%2==0:
        sun=sun+i
    elif i%2!=0:
        sui=sui+i
    i+=1
print(sun,sui)

4.2019:【例4.4】求阶乘

【题目描述】
利用for循环求n!
的值。

提示,n!=1×2×...×n
。

【输入】
输入一个正整数n
。

【输出】
输出n!
的值。

【输入样例】
4
【输出样例】
24
【提示】
【数据规模及约定】

对于所有数据,1≤n≤20
。

n=int(input())
sun=1
sui=1
for i in range (1,n+1):
    sui=i
    sun=sun*sui
    i=i+1
print(sun)

5.1059:求平均年龄

【题目描述】
班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

【输入】
第一行有一个整数n
(1≤n≤100
),表示学生的人数。其后n
行每行有1
个整数,表示每个学生的年龄,取值为15
到25
。

【输出】
输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。

【输入样例】
2
18
17
【输出样例】
17.50
n=int(input())
sun=0
sui=0
for i in range(n):
    a=float(input())
    sun=sun+a
    sui=sun
    sui=sui/n
print("%.2f"%sui)

6.1060:均值

1060:均值
【题目描述】
给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。

【输入】
输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。

【输出】
输出一行,包含一个浮点数,表示均值,精确到小数点后4位。

【输入样例】
2
1.0 3.0
【输出样例】
2.0000
n=int(input())
lb=list(map(float,input().split(' ')))
sun=0
for i in lb:
    sun=sun+i
print("%.4f"%(sun/n))

7.1061:求整数的和与均值

1061:求整数的和与均值
【题目描述】
读入n(1≤n≤10000)个整数,求它们的和与均值。

【输入】
输入第一行是一个整数n,表示有n个整数。

第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。

【输出】
输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。

【输入样例】
4
344
222
343
222
【输出样例】
 1131 282.75000
n=int(input())
sun=0
for i in range(n):
    a=int(input())
    sun+=a
print(sun,end=' ')
print("%.5f"%(sun/n))

8.1062:最高的分数

1062:最高的分数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 105881     通过数: 77497
【题目描述】
孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?

【输入】
输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。

【输出】
输出一个整数,即最高的成绩。

【输入样例】
5
85 78 90 99 60
【输出样例】
99
n=int(input())
a=list(map(int,input().split(' ')))
sun=0
for i in a:
    if i>sun:
        sun=i
print(sun)
n=int(input())
a=list(map(int,input().split(' ')))
sun=0
sui=1000
for i in a:
    if i>sun:
        sun=i
    if i<sui:
        sui=i
print(sun-sui)

9.1064:奥运奖牌计数

1064:奥运奖牌计数\
【题目描述】
2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。输入第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目。输出4个整数,为A国所获得的金、银、铜牌总数及总奖牌数。

【输入】
输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。

【输出】
输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。

【输入样例】
3
1 0 3
3 1 0
0 3 0
【输出样例】
4 4 3 11
n=int(input())
sub=0
sua=0
suc=0
for i in range(n):
    a,b,c=list(map(int,input().split()))
    sua=sua+a
    sub+=b
    suc+=c
print(sua,sub,suc,sua+sub+suc)

10.1065:奇数求和

1065:奇数求和

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 110580     通过数: 71204
【题目描述】
计算非负整数m
到n
(包括m
和n
)之间的所有奇数的和,其中,m
 不大于 n
,且n
 不大于300
。例如 m=3,n=12
, 其和则为:3+5+7+9+11=35
。

【输入】
两个数 m
 和 n
,两个数以一个空格分开,其中 0≤m≤n≤300
 。

【输出】
输出一行,包含一个整数,表示m
 到 n
(包括m
 和 n
 )之间的所有奇数的和

【输入样例】
7 15
【输出样例】
55
m,n=list(map(int,input().split()))
sun=0
for i in range(m,n+1):
    if  i%2!=0 :
        sun+=i
print(sun)

11.1066:满足条件的数累加

1066:满足条件的数累加

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 82557     通过数: 66141
【题目描述】
将正整数m
和n
之间(包括m
和n
)能被17
整除的数累加,其中,0<m<n<1000
。

【输入】
一行,包含两个整数m
和n
,其间,以一个空格间隔。

【输出】
输出一行,包行一个整数,表示累加的结果。

【输入样例】
50 85
【输出样例】
204
提交 统计信息 提交记录
m,n=list(map(int,input().split()))
sun=0
for i in range(m,n+1):
    if i%17==0:
        sun+=i
print(sun)

12.1067:整数的个数

1067:整数的个数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 89743     通过数: 62782
【题目描述】
给定k(1<k<100)个正整数,其中每个数都是大于等于1,小于等于10的数。写程序计算给定的k个正整数中,1,5和10出现的次数。

【输入】
输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。

【输出】
输出有三行,第一行为1出现的次数,第二行为5出现的次数,第三行为10出现的次数。

【输入样例】
5
1 5 8 10 5
【输出样例】
1
2
1
k=int(input())
a=list(map(int,input().split()))
su1=0
su5=0
su10=0
for i in range(k):
    if a[i]==1:
        su1=su1+1
    elif a[i]==5:
        su5=su5+1
    elif a[i]==10 :
        su10=su10+1
print(su1)
print(su5)
print(su10)

13.1068:与指定数字相同的数的个数

【题目描述】
输出一个整数序列中与指定数字相同的数的个数。输入包含2行:第1行为N和m,表示整数序列的长度(N<=100)和指定的数字;第2行为N个整数,整数之间以一个空格分开。输出为N个数中与m相同的数的个数。

【输入】
第1行为N和m,表示整数序列的长度(N<=100)和指定的数字, 中间用一个空格分开;

第2行为N个整数,整数之间以一个空格分开。

【输出】
输出为N个数中与m相同的数的个数。

【输入样例】
3 2
2 3 2
【输出样例】
2
n,m=list(map(int,input().split()))
sun=0
a=list(map(int,input().split()))
for i in range(n):
    if a[i]==m:
        sun+=1
print(sun)

14.1069:乘方计算

【题目描述】
给出一个整数a
和一个正整数n(−1000000≤a≤1000000,1≤n≤10000)
,求乘方an
,即乘方结果。最终结果的绝对值不超过1000000
。

【输入】
一行,包含两个整数a
和n
。−1000000≤a≤1000000,1≤n≤10000
。

【输出】
一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000
。

【输入样例】
2 3
【输出样例】
8
a,n=list(map(int,input().split()))
sun=1
for i in range(n):
    sun=sun*a
print(sun)

15.

1070:人口增长

1070:人口增长

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 81667     通过数: 56591
【题目描述】
我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?保留小数点后四位。

【输入】
一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。

【输出】
输出最后的人口数,以亿为单位,保留到小数点后四位。1<=x<=100,1<=n<=100。

【输入样例】
13 10
【输出样例】
13.1306
x,n=list(map(int,input().split()))
sun=1
for i in range(n):
    x=x+(x*0.001)
print("%.4f"%x)

201077:统计满足条件的4位数

1077:统计满足条件的4位数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 71669     通过数: 49240
【题目描述】
给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。

【输入】
输入为两行,第一行为四位数的个数n,第二行为n个的四位数。(n<=100)

【输出】
输出为一行,包含一个整数,表示满足条件的四位数的个数。

【输入样例】
5
1234 1349 6119 2123 5017
【输出样例】
3
n=int(input())
sun1=0
a=list(map(int,input().split()))
for i in range(n):
    g=a[i]%10
    s=a[i]//10%10
    b=a[i]//10//10%10
    q=a[i]//10//10//10%10
    if g-q-b-s>0 :
        sun1+=1
print(sun1)

211080:余数相同问题

【题目描述】
已知三个正整数a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。

请问满足上述条件的x的最小值是多少?数据保证x有解。

【输入】
一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。

【输出】
一个整数,即满足条件的x的最小值。

【输入样例】
300 262 205
【输出样例】
19
a,b,c=list(map(int,input().split()))
ma=max(a,b,c)
for x in range(2,ma):
    if (a%x)==(b%x) and (b%x)==(c%x):
        print(x)
        break

221081:分苹果

1081:分苹果
【题目描述】
把一堆苹果分给n个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?

【输入】
一个不大于1000的正整数n,代表小朋友人数。

【输出】
一个整数,表示满足条件的最少苹果个数。

【输入样例】
8
【输出样例】
36
n=int(input())
sun=0
for i in range(1,n+1):
    sun+=i
print(sun)

2020:【例4.5】第几项

2020:【例4.5】第几项

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 51693     通过数: 35799
【题目描述】
对于正整数n,m
,求s=1+2+3……+n
,当加到第几项时,s
的值会超过m
?

【输入】
输入m
。

【输出】
输出n
。

【输入样例】
1000
【输出样例】
45
【提示】
【数据范围】

对于全部数据:1≤m≤40000
m=int(input())
s,i=0,0
while s<m:
    i+=1
    s+=i

print(i)

232021:【例4.6】最大公约数

【题目描述】
求两个正整数m
,n
的最大公约数。

【输入】
输入m
,n
。

【输出】
m
,n
的最大公约数。

【输入样例】
4 6
【输出样例】
2
【提示】
【数据范围】

对于全部数据:m,n<4000000
。
n,m=list(map(int,input().split()))
c=min(n,m)
i=c
while i>=1:
    if m%i==0 and n%i==0:
        print(i)
        break
    i-=1

2022:【例4.7】最小n值

【题目描述】
编一程序求满足不等式1+12+13…+1n≥m
的最小n
值。

其中,n,m
为正整数。

【输入】
输入m
。

【输出】
输出n
。

【输入样例】
3
【输出样例】
11
【提示】
【数据范围】

对于所有数据:m≤11
m=int(input())
n=0
sun=0
while sun<m:
        n+=1
        sun+=(1/n)
print(n)

25 2023:【例4.8】数据统计

【题目描述】
输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数。

【输入】
一行,若干个整数。

【输出】
一行,即,最小值、最大值和平均值(保留3位小数)。

【输入样例】
1 2 3
【输出样例】
1 3 2.000
【提示】
【数据范围】

数据个数不超过100
。
a=list(map(int,input().split()))
i,sun,m1,m2,p=0,0,1000,0,0
while i<len(a):
    if a[i]>m2 :
        m2=a[i]
    if a[i]<m1:
        m1=a[i]
    sun+=a[i]
    i+=1
sun=(sun/len(a))
print(m1,m2,end=' ')
print("%.3f"%sun)
-------------
n=list(map(int,input().split()))
mi=min(n)
ma=max(n)
p=0
i=0
sun=0
while i<len(n):
     sun+=n[i]
     i+=1
p=sun/len(n)
print(mi,end=" ")
print(ma,end=" ")
print("%.3f"%p)

26 1085:球弹跳高度的计算

h=int(input())#初始高度
sum1=0  #总下落高度
w=h     #保留初始高度
i=1
while i<=10:
    sum1+=h
    h=h/2
    i+=1
print(sum1*2-w)
print(h)

27 1086:角谷猜想

1086:角谷猜想

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 103496     通过数: 62434
【题目描述】
谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。

【输入】
一个正整数n(n≤2,000,000)。

【输出】
从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。

【输入样例】
5
【输出样例】
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End
【提示】
no
n=int(input())
w=n
while n!=1:
   if n%2!=0:
      n=n*3+1
      print("%d*3+1="%w,end='')
      print(n)
      w=n
   elif n%2==0:
      n=n//2
      print("%d/2="%w,end='')
      print(n)
      w=n
print("End")

1087:级数求和

1087:级数求和

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 106283     通过数: 48360
【题目描述】
已知:Sn=1+12+13+…+1n。显然对于任意一个整数k,当n足够大的时候,Sn大于k。现给出一个整数k(1<=k<=15),要求计算出一个最小的n,使得Sn>k。

【输入】
一个整数k。

【输出】
一个整数n。

【输入样例】
1
【输出样例】
2
k=int(input())
n=0
sun=0
while sun<=k:
   n+=1
   sun+=1/n
print(n)

1088:分离整数的各个数

1088:分离整数的各个数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 78166     通过数: 56888
【题目描述】
给定一个整数n(1≤n≤100000000),要求从个位开始分离出它的每一位数字。从个位开始按照从低位到高位的顺序依次输出每一位数字。

【输入】
输入一个整数,整数在1到100000000之间。

【输出】
从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开。

【输入样例】
123
【输出样例】
3 2 1
n=int(input())
while n!=0:
   print(n%10,end=" ")
   n=n//10
n=int(input()) #120

sum1=0
a=1
if n<0:
   n = -n
   a=0
while n!=0:
   sum1=sum1*10+(n%10)
   n = n//10
if a:
   print(sum1)
else:
   print(-sum1)

1090:含k个3的数

1090:含k个3的数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 102568     通过数: 52992
【题目描述】
输入两个正整数m和k,其中1<m<100000,1<k<5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。 例如,输入:43833 3,满足条件,输出YES。如果输入:39331 3,尽管有3个3,但不能被19整除,也不满足条件,应输出NO。

【输入】
m 和 k 的值,中间用单个空格间隔。

【输出】
满足条件时输出 YES,不满足时输出 NO。

【输入样例】
43833 3
【输出样例】
YES
m,k=list(map(int,input().split()))
sun=0
sui=0
if m%19==0 :
    while m>0:
        sun=m%10
        if sun==3:
            sui+=1
        m=m//10
    if sui==k:
        print("YES")
    else:
        print("NO")
else:
    print("NO")

2026:【例4.12】阶乘和

2026:【例4.12】阶乘和

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 52228     通过数: 34856
【题目描述】
求 S=1!+2!+3!+....+n!
【输入】
输入正整数n
。

【输出】
输出s
。

【输入样例】
3
【输出样例】
9
【提示】
【数据范围】

对于所有数据:1≤n≤10
。
n=int(input())
sun=0
for i in range(1,n+1):  #获得数字
    s=1                 
    for j in range(1,i+1): #求i的阶乘
        s*=j
    sun+=s
print(sun)
        

2027:【例4.13】三角形

2027:【例4.13】三角形

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 41460     通过数: 32518
【题目描述】
对于给定的自然数n(n<20)
,在屏幕上输出仅由“*”构成的n
行的直角三角形。

【输入】
输入n
。

【输出】
题述三角形。

【输入样例】
5
【输出样例】
*
**
***
****
*****

n=int(input())
for i in range(1,n+1):
    j=1
    for j in range(1,i+1):
        print("*",end="")
    i+=1
    print("")

2029:【例4.15】水仙花数

2029:【例4.15】水仙花数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 56449     通过数: 33559
【题目描述】
求100∼999
中的水仙花数。若三位数ABC
,ABC=A3+B3+C3
,则称ABC
为水仙花数。

例如153
,13+53+33=1+125+27=153
,则153
是水仙花数。

【输入】
无

【输出】
由小到大输出满足条件的数,每个数占一行。

假设需要输出两个数:119,100。需要输出以下形式:

100

119

【输入样例】
无
【输出样例】
无
for i in range(100,1000):
    a=i%10 #个位数
    b=i//10%10 #十位数
    c=i//10//10%10#百位数
    if (a**3+b**3+c**3)==i:
        print(i)

2030:【例4.16】找素数

2030:【例4.16】找素数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 44925     通过数: 28505
【题目描述】
输出正整数a
到b
之间的所有素数。

【输入】
输入a,b
。

【输出】
由小到大,输出a
到b
之间的所有素数。每个数占一行。

【输入样例】
5 10
【输出样例】
5
7
【提示】
【数据范围】

对于所有数据,1≤a≤b≤20000
。

a,b=list(map(int,input().split()))
for i in range(a,b+1):
    w=True
    for j in range(2,i):
        if i%j==0:
            w=False
            break
    if w:
        print(i)
    

2031:【例4.17】四位完全平方数

2031:【例4.17】四位完全平方数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 46716     通过数: 25479
【题目描述】
输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。

【输入】
无

【输出】
由小到大输出,每个数占一行。

【输入样例】
无
【输出样例】
无
import math as m

for i in range(1000,10000):
    if int(m.sqrt(i))==m.sqrt(i):
        gw=i%10
        sw=i//10%10
        bw=i//10//10%10
        qw=i//10//10//10%10
        if gw==sw and bw==qw:
            print(i)

2032:【例4.18】分解质因数

2032:【例4.18】分解质因数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 34936     通过数: 22300
【题目描述】
把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。

输入一个正整数n
,将n
分解成质因数乘积的形式。

【输入】
一个正整数n
。

【输出】
分解成质因数乘积的形式。质因数必须由小到大,见样例。

【输入样例】
36
【输出样例】
36=2*2*3*3
【提示】
【数据范围】

对于所有数据,2≤n≤20000
。
n=int(input())
print("%d="%n,end='')
for i in range(2,n+1):
    while n%i==0:
        print(i,end='')
        n/=i
        if n!=1:
            print("*",end='')

2033:【例4.19】阶乘之和

2033:【例4.19】阶乘之和

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 75488     通过数: 19058
【题目描述】
输入n
,计算S=1!+2!+3!+…+n!
的末6
位(不含前导0)。n≤106
, n!
表示前n
个正整数之积。

【输入】
输入n
。

【输出】
如题述,之和。

【输入样例】
10
【输出样例】
37913
【提示】
【数据范围】

对于所有数据,1≤n≤999999
。
n=int(input())
sui=0
suu=0
for i in range(1,n+1):
    sun=1
    for j in range(1,i+1):
        sun*=j
    sui+=sun
d=100000
i=1
b=False
while i<=6:
    if (sui//d%10)!=0 or b:
        print(sui//d%10,end='')
        b=True
    d=d//10
    i+=1
    
#哇 这提代码好长

1097:画矩形

1097:画矩形

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 70181     通过数: 41952
【题目描述】
根据参数,画出矩形。输入四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。

【输入】
输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。

【输出】
输出画出的图形。

【输入样例】
7 7 @ 0
【输出样例】
@@@@@@@
@     @
@     @
@     @
@     @
@     @
@@@@@@@
a1,a2,a3,a4=input().split()
a1=int(a1)
a2=int(a2)
a4=int(a4)

for i in range(0,a1):
    for j in range(0,a2):
        if a4==0:
            if i==0 or i==a1-1:
                print(a3,end="")
            else:
                if j==0 or j==a2-1:
                    print(a3,end="")
                else:
                    print(" ",end="")
        else:
            print(a3,end="")
    print()
n=int(input())
sun1=0
for i in range(0,n+1):
    if i%7!=0:
        s=i
        c=0    #默认不包含7
        while s!=0:
            b=s%10
            if b==7:
                c=7
                break
            s=s//10
        if c!=7:
            sun1+=i**2
            
print(sun1)