输入格式:
只有一行,为用空格分隔的若干整数,最后一个整数为0。测试用例保证输入中只包含这一个0。
输出格式:
共三行,依次分别输出3、5、7的倍数的占比(如果某个数同时为多个数的倍数,如15,70等,则不参与统计,但要计到总数中)。占比采用百分数形式,且保留2位小数。这里的占比指的是这类数字的数量跟所有数字的总数(不包括最后的0)比。测试用例保证所有整数可以用int存储。
#include <stdio.h>
int main()
{
int n;
int n0=0,n3=0,n5=0,n7=0;
scanf("%d",&n);
while(n!=0)
{
n0++;
if(n%3==0 && n%5!=0 && n%7!=0)
n3++;
else if(n%5==0 && n%3!=0 && n%7!=0)
n5++;
else if(n%7==0 && n%3!=0 && n%5!=0)
n7++;
scanf("%d",&n);
}
printf("%.2f\n",n3*1.0/n0*100);
printf("%.2f\n",n5*1.0/n0*100);
printf("%.2f\n",n7*1.0/n0*100);
return 0;
}
#include <stdio.h>
int main()
{
int n;
int all = 0,three = 0,five = 0,seven = 0;
while(1)
{
scanf("%d",&n);
if(n == 0)
break;
else
{
all++;
if (n%15 ==0 || n%21==0 || n%35==0)
continue;
else if(n%3==0)
three++;
else if(n%5==0)
five++;
else if(n%7==0)
seven++;
}
}
printf("%.2f%%",100.0*three/all);
printf("%.2f%%",100.0*five/all);
printf("%.2f%%",100.0*seven/all);
return 0;
}