@kislaya
Why did u write so lengthy code.
U can exploit the fact that GCD cannot be greater than the minimum element of array.
@kislaya
Why did u write so lengthy code.
U can exploit the fact that GCD cannot be greater than the minimum element of array.
showing runtime error SIGFPE in this problem … please can someone tell my mistake in this code…
what is wrong with my code??
my ans is correct but still it is showing wrong answer
#include <stdio.h>
int main(void) {
int n,i=0,j,min=0,count=0,m,k,gcd;
scanf("%d",&n);
int a[n][49],b[50];
while(i<n)
{
gcd=0;
scanf("%d",&m);
j=0;
a[i][j]=m;
scanf("%d",&b[j]);
min=b[j];
j++;
while(j<m)
{
scanf("%d",&b[j]);
if(min>b[j])
min=b[j];
j++;
}
while(min>1)
{
count=0;
j=0;
while(j<m)
{
if((b[j]%min)==0)
count++;
j++;
}
if(count==m)
{
gcd=min;
break;
}
min--;
}
j=1;
k=0;
if(gcd!=0)
{
while(j<=m)
{
a[i][j]=b[k]/gcd;
j++;
k++;
}
}
else
{
while(j<=m)
{
a[i][j]=b[k];
j++;
k++;
}
}
i++;
count=0;
}
for(i=0;i<n;i++)
{
for(j=1;j<=a[i][0];j++)
{
if(j==a[i][0])
printf("%d",a[i][j]);
else
printf("%d ",a[i][j]);
}
if(i!=(n-1))
printf("\n");
}
return(0);
}
my code is giving correct answers but in uploadinong your compiler is saying wrong plasee check it or tell me the example which is giving wrong answer
#include <stdio.h>
#include <stdlib.h>
void input(void);
int main()
{
int n,i;
printf(“enter the number the test case\n”);
scanf("%d",&n);
for (i=0;i<n;i++)
{
input();
}
return 0;
}
void input(void)
{
int i,n,b,a[50];
int j=0,count=0 ;
printf(“enter the number of items between 2 to 50 :”);
scanf("%d",&n);
printf(“enter the numbers “);
for(i=0;i<n;i++)
{
scanf(”%d”,&a[i]);
if(i==0)
{
b=a[0];
}
if(i>0)
{
if(b>a[i])
b=a[i];
}
}
for(i=0;i<n;i++)
{
while(1)
{
j++;
if(bj<=a[i])
{
if(bj==a[i])
break;
}
if(b*j>a[i])
{
for(i=0;i<n;i++)
printf("%d ",a[i]);
count ++;
break;
}
}
if (count==1)
break;
}
if(count==0)
{
for(i=0;i<n;i++)
printf("%d ",a[i]/b);
}
}
my code is giving correct answers but when i am uploading in your compiler its saying wrong answer please check it or tell me the example which is giving wrong answer
what wrong with my code???
#include <stdio.h>
#include <stdlib.h>
int minimum(int [],int);
int minimum(int arr[],int N){
int i=0,min_val=arr[0];
for(i=1;i<N-1;i++){
if(min_val > arr[i])
min_val=arr[i];
}
return min_val;
}
int main()
{
int T;
scanf("%d",&T);
while(T){
int N,flag;
scanf("%d",&N);
if(N>=2 && N<=50){
int arr[N],min,tem=N;
int i=0;
while(tem){
scanf("%d",&arr[i]);
tem--; i++;
}
min=minimum(arr,N);
tem=N;
while(tem){
if(((arr[tem-1])%min)==0) flag=1;
else {flag=0; break;}
tem--;
}
i=0;
if(flag==1){
while(N){
printf("%d ",arr[i]/min);
i++;N--;}
}
else{
while(N){
printf("%d ",arr[i]);
i++; N--; }
} }
T–;
printf("\n");
}
return 0;
}
Your code fails for this test case-
Input-
1
3 15 35 55
Output-
15 35 55
Expected Output-
3 7 11
Add a check that if minimum element isn’t gcd, check if any factor of it is GCD of all. (Eg, here 15 isn’t GCD, but its factor 5 is GCD of all elements).
what’s wrong with my code?it’s running correctly on my compiler but giving prompt of wrong answer here.plz check .
https://www.codechef.com/viewsolution/13565846
Hi, can someone please help me find the test case where my code fails for this problem?
Here is my answer :
https://www.codechef.com/viewsolution/15469463
My code is running correctly but don’t know why it’s showing wrong answer. Anyone please help?
https://www.codechef.com/viewsolution/15887411
Can someone tell me whats wrong in my code…!!!
code here
import java.util.Scanner;
public class RECIPE_2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while(T>0){
int ingredients = sc.nextInt();
if(ingredients == 0) return;
if(ingredients == 1){
System.out.println(sc.next());
return;
}
int[]arr = new int[ingredients];
for(int i=0;i<ingredients;i++){
arr[i] = sc.nextInt();
}
//answer
int result = gcd(arr[0], arr[1]);
for(int i=2;i<ingredients;i++){
result = gcd(arr[i], result);
}
printArray(arr, result);
T--;
}
}
public static int gcd(int a, int b){
if(a==0){
return b;
}else{
return gcd(b%a, a);
}
}
public static void printArray(int[] arr, int divNo){
for(int i=0;i<arr.length; i++){
System.out.print(arr[i]/divNo);
if(i!=arr.length-1)
System.out.print(" ");
}
}
}
I solved this code in another way but still it is failing. anyone what is the case when it got failed.?
Why i am getting WA(wrong answer) ??
I am getting right answers for all the TEST cases, incuding (8,16,20) ans=(2,4,5).Given in comment.
Can anyone help me.
My solution link
https://www.codechef.com/viewsolution/16701304
#include<stdio.h>
int main()
{
int t,n,i,j,k,m,a[1000],s[1000],gcd;
scanf("%d",&t);
if(t<=100)
{
for(i=1;i<=t;i++)
{
scanf("%d",&n);
if(n>=2&&n<=50)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[j]);
}
}
gcd=a[0];
for(k=1;k<n;k++)
{
if(a[k]%gcd==0)
{
k++;
}
else{
gcd=a[k]%gcd;
}
}
for(m=0;m<n;m++)
{
s[m]=a[m]/gcd;
printf("%d \n",s[m]);
}
}
}
return 0;
}
please tell me what is wrong with my code it’s working on my system but when I submit it show me wrong answer
#include<stdio.h>
int main()
{
int t,n,i,j,k,m,a[1000],s[1000],gcd;
scanf("%d",&t);
if(t<=100)
{
for(i=1;i<=t;i++)
{
scanf("%d",&n);
if(n>=2&&n<=50)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[j]);
}
}
gcd=a[0];
for(k=1;k<n;k++)
{
if(a[k]%gcd==0)
{
k++;
}
else{
gcd=a[k]%gcd;
}
}
for(m=0;m<n;m++)
{
s[m]=a[m]/gcd;
printf("%d \n",s[m]);
}
}
}
return 0;
}
please tell me what is wrong with my code it’s working on my system but when I submit it show me wrong answer
#include
using namespace std;
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
int q,c=0;
cin>>q;
int a[q];
for(int i=0;i<q;i++)
{
cin>>a[i];
}
int m=a[i];
for(int i=0;i<q;i++)
{
if(a[i]<m)
{
m=a[i];
}
}for(int j=m;j>0;j–)
{c=0;
for(int i=0;i<q;i++)
{
if(a[i]%j==0)
{
c++;
}
if(c==q)
{ for(int i=0;i<q;i++)
cout<<a[i]/j<<" ";
}
}
if(c==q){
cout<<endl;
break;
}
}
}
}
what is wrong in this my compiler is giving right answer?
step 1: just find highest common factor(HCF) of all the nos
for ex:In the given question for
case 1: no(s) are :4 ,4 => hcf = 4
case 2: 2,3,4 => hcf will be 1
case 3: 3 15 9 6 => hcf will be 3
step 2:
divide each no of each case with hcf
for ex:
case 1: 4,4 => hcf=4 therefore new nos will be 1,1
case 2: 2,3,4 => hcf=1 therefore new nos will be 2,3,4
case 3: 3,15,9,6 => hcf=3 therefore new nos will be 1,5,3,2
you can see code of this question for given link:
https://www.codechef.com/viewsolution/23428055
it’s not necessary that the no. with minimum value will always be gcd of all…
try this : 8 16 20
ur output: 8 16 20
correct answer : 2 4 5
thank you!
Can you help me with this!
I am getting
Output as 1 1 11 for your test case
#include <bits/stdc++.h>
using namespace std;
long int gcd (long int a, long int b)
{
if (a == 0)
return b;
gcd(b%a, a);
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
long int num;
while (t--)
{
cin >> num;
long int q[num];
long int sum =0;
for(int i=0; i<num; i++){
cin >> q[i];
sum = sum+ q[i];
}
for(int i=0; i<num; i++){
cout<<q[i]/gcd(q[i],sum)<<" ";
}
cout << "\n";
}
return 0;
}