ログイン
編集不可のページディスカッション情報添付ファイル
"rei05/C言語"の差分

MMA
30と34のリビジョン間の差分 (その間の編集: 4回)
2012-06-08 17:12:40時点のリビジョン30
サイズ: 1464
編集者: rei05
コメント:
2012-07-16 17:50:37時点のリビジョン34
サイズ: 894
編集者: nomeaning
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 2: 行 2:
== AOJ解答 ==
 . 最終的にAcceptedとなった回答です。
== 未解決問題 ==
第11行目の有無によって第18行目の出力が異なります。 なぜでしょう?-- [[rei05]] <<DateTime(2012-07-11T13:47:51+0900)>>
行 5: 行 5:
 . ここはこうした方がいいなど改善すべき点がありましたら是非ご教授お願いします。 信心が足りないということでは? -- hiyakashi <<DateTime>>
行 7: 行 7:
 * [[/10020]]
 * [[/10021]]
 * [[/10022]]
 * [[/10023]]
 * [[/10024]]
 * [[/10025]]
 * [[/10026]]
 * [[/10027]]
 * [[/10028]]
 * [[/10030]]
 * [[/10031]]
異なっていないように見えます。 [[http://ideone.com/sWn2y]]、[[http://ideone.com/hGDDS]] -- [[nomeaning]] <<DateTime(2012-07-16T17:50:37+0900)>>
{{{#!highlight haskell
#include<stdio.h>
#include<math.h>
行 19: 行 12:
== Help Me! ==
=== 未解決 ===
 * AOJ10029番 Time Limit Exceeded
  * http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10029
int main(){
        double ans=100000;
        int n,i;
行 24: 行 16:
        scanf("%d",&n);
行 25: 行 18:
        for(i=0;i<n;i++){
                printf("%f\n",fmod(ans*1.05,1000));
                if(fmod(ans*1.05,1000)==0)
                        ans*=1.05;
                else
                        ans=ans*1.05-fmod(ans*1.05,1000)+1000;
        }
行 26: 行 26:
 * [[/Discussion]]
  * クイックソートで書いてみましたがTime Limit Exceeded。おかしな箇所を教えてください。-- [[rei05]] <<DateTime(2012-06-01T16:54:19+0900)>>

{{{#!highlight haskell
#include <stdio.h>

void Sort(int num[],int left,int right);

int main()
{
 int n,i;
 scanf("%d",&n);
 int num[n];

 for(i=0;i<n;i++)
  scanf("%d",&num[i]);

 Sort(num,0,n-1);

 for(i=0;i<n;i++)
  printf("%d ",num[i]);
 printf("\n");

 return(0);
}

void Sort(int num[],int left,int right)
{
 int i,j,temp;
 int center=(left+right)/2;

 while(1){
  i=left;
  j=right;

  while(num[i]<num[center])
   i++;
  while(num[center]<num[j])
   j--;
  if(i==j)
   break;
  if(num[i]==num[j]){
   i++;
   if(i==j)
    break;
  }

  temp=num[i];
  num[i]=num[j];
  num[j]=temp;
 }

 if(center-left>=2)
  Sort(num,left,center-1);
 if(right-center>=2)
  Sort(num,center+1,right);
        printf("%d\n",(int)ans);
        return 0;

C言語

未解決問題

第11行目の有無によって第18行目の出力が異なります。 なぜでしょう?-- rei05 2012-07-11 13:47:51

信心が足りないということでは? -- hiyakashi 2024-03-19 20:17:22

異なっていないように見えます。 http://ideone.com/sWn2yhttp://ideone.com/hGDDS -- nomeaning 2012-07-16 17:50:37

   1 #include<stdio.h>
   2 #include<math.h>
   3 
   4 int main(){
   5         double ans=100000;
   6         int n,i;
   7 
   8         scanf("%d",&n);
   9 
  10         for(i=0;i<n;i++){
  11                 printf("%f\n",fmod(ans*1.05,1000));
  12                 if(fmod(ans*1.05,1000)==0)
  13                         ans*=1.05;
  14                 else
  15                         ans=ans*1.05-fmod(ans*1.05,1000)+1000;
  16         }
  17 
  18         printf("%d\n",(int)ans);
  19         return 0;
  20 }

rei05/C言語 (最終更新日時 2012-07-16 17:50:37 更新者 nomeaning)